私は iOS6 を使用しており、私の電話は 4S です。
GKLeaderboards の例のコードを使用して、Game Center を動作させ、ローカル プレイヤーを認証しています。このコードは、Sparrow フレームワークの足場プロジェクトにインポートしました。
これはシミュレーターではまったく問題なく動作しているようです。「おかえり xxxx、** サンドボックス モード *」というメッセージが表示されます。
しかし、実際の iPhone でテストすると、私のゲーム (現在は画面上にたくさんのタイルで構成されているだけ) の速度が遅くなり、Game Center のメッセージは表示されません。
コードを見ると、電話で別の Game Center アカウント (つまり、サンドボックス アカウントではない) でログインしているため、新しいアカウント ビューでログインを表示しようとしていると思いますが、表示されません。
私が使用しているコードは...
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
// If there is an error, do not assume local player is not authenticated.
if (viewController != nil)
{
[mainViewController presentViewController:viewController animated:NO completion:nil];
//store this view controller pointer
NSLog(@"viewController != nil");
}
else if (localPlayer.isAuthenticated)
{
NSLog(@"Authentication changed: player authenticated.");
}
else
{
NSLog(@"can't log in");
}
}
問題はこの行によって引き起こされていると思います...
[mainViewController presentViewController:viewController animated:NO completion:nil];
ゲームはクラッシュしているようには見えませんが、何か問題が発生してすべてが遅くなっているようです。何が原因でしょうか?