Must submit to Apple in order to test GameCenter?

I’m to the point where I’m trying to add GameCenter to my game. But as far as I can tell I have to submit my game to Apple through iTunes Connect in order to even test GameCenter (define my fields in GameCenter). This confuses me because I’m not ready to submit my game yet… I just want to test GameCenter! Am I missing something? Can I add my App to iTunes Connect WITHOUT submitting it for the approval process?

Any enlightenment would be appreciated.

Jim Barber [import]uid: 5540 topic_id: 24908 reply_id: 324908[/import]

Hey, Jim @Pinback, you can always upload a build to iTunes Connect and reject it immediately thereafter. Once you reject it, Apple won’t review the app.

I had mine in Developer Rejected status for more than five months, and it did not cause any problem whatsoever for me. I was able to test both In-App Purchase and GameCenter with the game in Developer Rejected status. And, once I rejected it, I never bothered to update whatever was uploaded to iTunes Connect. (So you don’t have to keep uploading and rejecting as you develop/build your game.)

Naomi [import]uid: 67217 topic_id: 24908 reply_id: 101089[/import]

Thank you very much! That sounds like a really nutty way to do things and I think Apple should come up with another way to sandbox test GameCenter that doesn’t involve submitting the App, but if that’s what it takes then that’s what I’ll do!

Thanks again!
[import]uid: 5540 topic_id: 24908 reply_id: 101092[/import]

I agree. Very nutty. :slight_smile:

Good luck with your testing process!

Naomi [import]uid: 67217 topic_id: 24908 reply_id: 101096[/import]

Naomi,

I just curious about how to verify the Game Center functionality within a development state. I’ve uploaded a binary as you said, by rejecting it as far it is uploaded to iTunes Store, but even when the game shows that is connected to Game Center, no one achievement and highs core is modified at the leader board when I launch Game Center (sandbox) user profile.

Could you post any tips, trick, code or step guide?

I’ve checked everything around this site at Ansca, forums, apple docs, but even when CFBundler, Leaderboard ID, Achievements ID, is correct in my app and build.settings, I’m still having no update at GameCenter after gameNetwork.request(“setHighScore”) or (“unLockAchievement”) commands.

Do you know any other way to check this?

Thanks in advance!

Flavio. [import]uid: 3022 topic_id: 24908 reply_id: 101731[/import]

Let me help as I just went through this and wasted half a day on it…

  1. It is not necessary to upload and reject a binary. I had everything working without doing that. Just enable Game Center for your app in iTunes Connect and make your leaderboard. Make sure you sign out your real Game Center ID from inside of the Game Center app, then load up your test app. When it asks, just create a new ID and you will be in sandbox mode.

  2. Make sure your using a developer profile, no wildcard profiles

  3. (Here’s the sneaky part) Even when you have it set up and you test it out, the scores won’t show. Why? Because it takes Apple’s servers up to 24 hrs to update. When I learned of this, I turned off my computer and went to bed. Sure enough, the scores were there in the morning.

Hope that helps. Good luck! [import]uid: 22392 topic_id: 24908 reply_id: 101734[/import]

Hi Chunky,

Thanks for your update.

I already have my SandBox Game Center Account. I am using a ad-hoc profile to test the app on my profile, do I need to do it with a developer one instead of?

But regarding your point 3, you say that update takes 24 hours every time that I make a gameNetwork request or that’s is taken only the first time setup? Because, according to Walter and J BB video about game center, they show that updates are immediately reflected in the LeaderBoard.

I am start guessing that may be I should request the load to shows the results in game. Is that the way to obtain an immediately update of the highScore and achievements?

I couldn’t see the achievements completion banner appears in my game and I don’t think that’s because the 24 hours update. It should be another issue there…

Anyway, I will see tomorrow if there is any update from the servers.

Thanks again,

Flavio. [import]uid: 3022 topic_id: 24908 reply_id: 101742[/import]

Hey, Flavio, I think you should take ChunkyApps’s advice here, especially since s/he has just gone through the process.

I could only share what I did, but it doesn’t necessarily mean it has to be done that way. By the way, I’ve always used AdHoc for device build to test my game. So it sounds like you can use either AdHoc or Developer profile.

Another thing that’s different with mine is that I implemented both OpenFeint and GameCenter – in other words, I didn’t directly implement GameCenter. I might have to change my implementation and remove OpenFeint at some point, but I haven’t done that yet.

Anyhow, I hope you’ll start seeing the high scores and achievements soon.

Naomi [import]uid: 67217 topic_id: 24908 reply_id: 101743[/import]

I think your issue is the ad-hoc profile. I believe you need a developer profile.

The achievements & their banners show up immediately. But don’t know if initial setup is 24 hrs or so.

Might’ve only been the first time, not sure how quickly the leaderboards update

By the way, I’m not sure if it is actually 24 hrs. I read that somewhere else on the forum. [import]uid: 22392 topic_id: 24908 reply_id: 101744[/import]

Thanks Naomi,

I guess my problem comes from achievements identifier rather than update process.

In my iTunes connect I’ve defined Normal as my LeaderBoardID and UCG_Bonus_1 as one of the Achievements ID, therefore I am using com.vls.appName.Normal as Leaderboard ID during my gameNetwork request and com.vls.appName.UCG_Bonus_1 as AchievementID for instance.

However, I am start thinking that something is wrong here. (of course appName is replaced by the name of my app).

Do you can give a my clue on this? May be the way that you identify your things on iTunes and in your application is what I missing at my code.

I just followed the JBB sample file where it shows:

local requestCallback, userScoreText, currentBoardText, userBestText, bestLabel, bestText  
local leaderBoards, achievements = {}, {}  
 leaderBoards.Easy = "com.appledts.EasyTapList"  
 leaderBoards.Hard = "com.appledts.HardTapList"  
 leaderBoards.Awesome = "com.appledts.AwesomeTapList"  
 achievements.OneTap = "com.appletest.one\_tap"  
 achievements.TwentyTaps = "com.appledts.twenty\_taps"  
 achievements.OneHundredTaps = "com.appledts.one\_hundred\_taps"  

and them he uses this code, for instance to unlock an achievement.

 if userScore == 1 then  
 gameNetwork.request( "unlockAchievement", {  
 achievement = {  
 identifier=achievements["OneTap"],  
 percentComplete=100,  
 showsCompletionBanner=true,  
 }  
 }); message = "You completed the \"Just One Tap\" achievement!"  
...  
  

So I guess, taking into consideration my BoundleID at iTunes Store is: com.vls.appName, therefore all the rest of identifiers should be like:

  
 achievements.UCG\_Bonus\_1 = "com.vls.appName.UCG\_Bonus\_1"  
 achievements.UCG\_Bonus\_2 = "com.vls.appName.UCG\_Bonus\_2"  
 leaderboards.Normal = "com.vls.appName.Normal"  

I guess my code above should be correct if (again) my boundleID is com.vls.appName

Any idea here?

Flavio. [import]uid: 3022 topic_id: 24908 reply_id: 101746[/import]

Yeah!

Fixed. I’ve found the problem.

It was related to identifiers. I’ve put them without the BundleID concatenated to Achievement ID. Any way I removed the first part of the ID and it works.

Here’s the solution:

leaderBoards.Normal = "Normal"  
achievements.UCG\_Bonus\_1 = "UCG\_Bonus\_1"  
achievements.UCG\_Level\_1 = "UCG\_Level\_1"  
achievements.UCG\_Level\_2 = "UCG\_Level\_2"  
achievements.UCG\_Level\_3 = "UCG\_Level\_3"  
achievements.UCG\_Level\_4 = "UCG\_Level\_4"  
achievements.UCG\_Bonus\_3 = "UCG\_Bonus\_3"  
achievements.UCG\_Time\_1 = "UCG\_Time\_1"  
achievements.UCG\_Time\_2 = "UCG\_Time\_2"  
achievements.UCG\_Silver\_1 = "UCG\_Silver\_1"  
achievements.UCG\_Gold\_1 = "UCG\_Gold\_1"  

Now they are matching with the IDs declared in iTunes Game Center.

Thanks anyway!

Flavio
[import]uid: 3022 topic_id: 24908 reply_id: 101750[/import]

So glad to hear you got it sorted! If/When I decide to implement GC directly (without OF), I’ll keep this post in mind. I’m sure it’ll help me.

Cheers,
Naomi [import]uid: 67217 topic_id: 24908 reply_id: 101754[/import]