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.
Related
I am going to develop an application for kids. That I needed is I have to lock the home button permanently for this particular application but I didn't get any solution for this.
For kids, there is a feature in the iPhone setting called "Guided Access" this setting lock the phone with one app. This could be helpful for you. You can mention this in your app.
You can use this API to do programmatically. It was introduced in WWDC 2017. For more information how to use API and lock in a specific way. Please check this video. For doing programmatically without any device management it has been explained at 15:40th minute.
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.
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.
I have been developing a client game. I have enabled game center from iTunesConnect, created leaderboards and also created InApps. But when I try to call them in the code, there is no response. Game Center is showing no items and in apps are giving any response i.e products are not loaded. Everything is correct, provisioning is correct, bundle id is setup correctly, game center and in apps are enabled. I tried the same code with my own game center and in apps and they worked fine. One thing missing in client's itunes connect is Contact and Tax Information. Is that the problem? Thats why apple isnt allowing me to add game center and in apps? Thanks
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.