Does game center have to be included to get your app accepted? - ios

I am developing a game and wondering if it is necessary to include game centre integration to get approved. I am having trouble figuring out how to include it, so if it isn't necessary, I may just submit it without, then add it later on. Is it necessary?

You do not need game center, however if you implement game center in a way apple frowns upon it will be rejected.

Related

Xcode Capabilities are needed?

I'm a beginner of ios development, and I wonder whether capabilities are needed.
For example, I can GameCenter in my project without turning on GameCenter in Capabilities.
My question is what will happen if I use GameCenter in my project without turning on GameCenter and submit it.
Thanks in advance.
First of all, when you try and write game center code, it will not authenticate the player because game center in the app settings is not on, and you cannot turn the game center app setting on until you have an apple developer account. Bottom line is, if game center is not enabled in the project, it will not authenticate the player and it will not work. With that said, you cannot submit it anyway without an apple developer account, and if you have one you can just turn it on.

How to invite players through game centre app in iOS 7?

I've already implemented auto-matchmaking, and tested it between two actual devices with different game centre accounts, so I know I've setup that part correctly: I can create a match, and send data between both the players. Now I'm implementing the invitations part.
The Game Center programming guide
says:
The playersToInvite parameter is non-nil when your game is launched
directly from the Game Center app to host a match. This parameter
holds an array of player identifiers listing the players to invite
into the match.
What I don't understand, is how to invite players through the game centre app. In the game centre app, I can see my game. When I click on it, in the top right corner there is a button with text: "..." . When I click on it, I see two options: "Play" and "Share". Clicking on "Play" launches my app.
Is there some code I need to implement for the Game center app to present me with the option of selecting friends to invite etc?
EDIT: It appears that the person in this post has almost the same problem as me:
Definitive answer to what playersToInvite is for
But no definitive answer so far, on how that data gets populated.
There are actually a couple of problems, both of which are on apples end:
The documentation is not up to date. While it mentions to use [GKMatchMaker sharedMatchMaker].inviteHandler , it has actually been deprecated in iOS 7, but the documentation has not been updated to reflect this.
It appears that there is no way you can invite players from the Game Center app. The documentation is incorrect in this case - the game centre UI does not provide any way for selecting the players. You invite players using the matchmaking view controller provided by game center.
Instead of using GKMatchMaker.inviteHandler, one can implement GKLocalPlayerListener - but this hasn't been documented properly in the Game Center Programming guide. It is easy to implement as there are only two methods, and work in almost the same way as the deprecated handler.
EDIT: There is a way to invite players from the game center app, but currently there is a bug in iOS 7, so that the game center app's flow in production, does not match the flow in the sandbox. As a result, one must navigate a much more cryptic flow to find the option to invite a player through the game center app. Currently only one player can be invited through the game center app, even if your app supports more than two players.

Can we enable Game Center for particular version?

I am new to Game Center, after gone through Game Center in&out. I have some questions in my mind, I need clarification from any of you guys:
1) Can we enable Game Center for particular app version,(ie) previous app version 1.0 doesn't have Game Center feature, so I like to enable Game Center for 2.0 app version. So, my question is, if I enable Game Center for app version 2.0, whether it can affect previous app version 1.0?
2) Why most of the app not providing Game Center login feature inside their app, instead of login via Game Center feature?
1) Yes, you can integrate Game Center in the same app for its next version. Not a problem at all. Your user will get notification that update is available once they updated they will have feature. And you previous version will also work fine if somebody don't want to update.
2) If your app is game Center enabled that means, it has to communicate with it for many times in many ways. eg. to get score, update score, get achievements, get leader board and challenges. All of the above feature requires game center authentication to proceed further. Most of the app (even the one i created) needs game center login at start after that it works smoothly. It is better to ask for authentication using login via game Center.

Should Game Center be Optional?

This question may be a little vague / philosophical, but what do you do when a user doesn't want to use Game Center?
Normally you run authenticateWithCompletionHandler: when your app starts. But what if your user doesn't have a Game Center account? Do they then get nagged each launch?
After a little testing, it looks like the user is nagged only 3 times. After the third, they need to sign in via Game Center app. (I haven't seen any of this documented, hence the original question, and my uncertainty about the answer.)

Make my game recognize Game Center?

Well, I made my game in iTunes Connect page, enabled Game Center.
I manage to make my game recognize Game Center and work with it.
But now, after some time, I got a couple things messed up, and forgot what setting I needed to change in XCode so my game could recognize Game Center. Any tips?
In your frameworks, include the GameKit framework and it should work..
Remember to import the gamekit framework as well whenever you need it in a class..

Resources