iOS 6を対象としたゲームセンター対応アプリを実装しようとしています。環境に関する情報を提供するために、XCodeバージョンが4.5.2でxcodeがiphoneおよびipadシミュレータバージョン6.0を実行しているmacos10.7.5で作業しています。問題は、ipadまたはiphoneシミュレーターを介してサンドボックスモードでgamecenterに接続できないことですが、iphoneでのテスト中に同じコードが希望どおりに機能します。
Appleの開発者ライブラリにあるgamecenterプログラミングガイドに従い、appdelegateのapplicationDidFInishLaunchingから呼び出されるこのatmを取得しました。
- (void)authenticateLocalUser:(UIViewController *)currentViewController
{
if (!gameCenterAvailable) return;
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
if (viewController != nil)
{
[currentViewController presentViewController:viewController animated:YES completion:nil];
}
else if (localPlayer.isAuthenticated)
{
NSLog(@"Player authenticated");
}
else
{
NSLog(@"Player not authenticated");
}
NSLog(@"Error: %@",error);
};
}
以下を出力します。
Error: Error Domain=GKErrorDomain Code=2 "The requested operation has been cancelled."
UserInfo=0x8690510 {NSLocalizedDescription=The requested operation has been cancelled.}
GKSConnSettings: set server: {
"gk-cdx" = "17.173.254.218:4398";
"gk-commnat-cohort" = "17.173.254.220:16386";
"gk-commnat-main0" = "17.173.254.219:16384";
"gk-commnat-main1" = "17.173.254.219:16385";
}
私のOSは10.8.2ではありませんが、hostsファイルの修正をすでに試しましたが、役に立ちませんでした。https://devforums.apple.com/thread/168811?tstart=0
考えられる原因は何ですか?
編集:まあ、GKSConnSettingsで始まる出力部分は問題を示さないことがわかりました。これは、インターネットで読んだことから理解したように、ゲームセンターに接続している間の通常の出力です。認証ブロック内に実際のエラーメッセージ(GKErrorDomain = 2 ...)を出力しました。