Am I missing something here?
public override void BeginReportAchievementCompleted(stringachievementId) {
Debug.Log(GetType().ToString() + ": BeginReportAchievementCompleted(" + achievementId + ")");
GameCenterPlatform.ShowDefaultAchievementCompletionBanner = true;
Social.ReportProgress(achievementId, 100.0, (bool success) => {
if (success) {
Debug.Log (GetType().ToString() + ": Achievement " + achievementId + " successfully reported.");
}
else {
Debug.Log (GetType().ToString() + ": Failed to report achievement " + achievementId + ".");
}
});
}
My log shows the “BeginReportAchievementCompleted” line. It does not show either of the callback’s log messages. There’s also no error in the log. Nothing shows up in the Game Center app as completed. No banner appears.
Similarly, submitting a score to a leaderboard yields no result.
Getting scores from a leaderboard gives me the following:
The operation couldn’t be completed. (Cocoa error 4099.)
When my app starts the sandbox account logs in correctly.
In Settings on my iPad I have Sandbox enabled and am logged into one of the sandbox user accounts created in iTunes Connect.
Before I updated to iOS 8 the leaderboards definitely worked, and I haven’t changed that code since then. I can’t remember if I was using Unity 4 or 5 at the time.
Something potentially worth note is that when I look at the game in Game Center it does show one logged high score, from the sandbox user I used to test it way back when I first implemented it. That user was created the old way, when you made sandbox users from the login process in game rather than in iTunes Connect. iTunes Connect does not show that user. So I wonder if this is all because the back end is messed up?
Any ideas would be sweet.