iOS 6 では、次のようにゲーム センターを認証する必要があります。
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
if (viewController != nil)
{
[[AppDelegate sharedDelegate].viewController presentModalViewController:viewController animated:YES];
}
else if (localPlayer.isAuthenticated)
{
[self authenticatedGC];
}
else
{
[self disableGC];
}
};
}
このコードは、iOS6 を実行している iPhone 4 では正常に動作しますが、iOS 6 シミュレーターでは次のスタック トレースでクラッシュします。
0 objc_msgSend
1 -[GKLocalPlayer setAuthenticateHandler:]
2 -[GCHelper authenticateLocalUser]
3 -[AppDelegate applicationDidFinishLaunching
シミュレーターに iOS 6 SDK などが欠落していると考えて xcode を再インストールしようとしましたが、それでもここでクラッシュします。
何か案は?
ありがとうございました!