ターン ベースのマルチプレイヤー パズル タイプのゲームを作りたいです。プレイヤーのターン終了の通知を含むすべての機能で正常に動作します。しかし、iOS 8.3 では、プレイヤーのターン終了中にデリゲート メソッドが呼び出されません。解決策はありますか?
リスナーも登録しましたが、呼び出されていません。コードは次のとおりです。
- (void)authenticateLocalUser {
if (!gameCenterAvailable) return;
NSLog(@"Authenticating local user...");
if ([GKLocalPlayer localPlayer].authenticated == NO) {
__weak typeof(self) weakSelf = self;
__weak GKLocalPlayer *weakPlayer = [GKLocalPlayer localPlayer];
weakPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
if (viewController != nil) {
[weakSelf showAuthenticationDialogWhenReasonable:viewController];
} else if (weakPlayer.isAuthenticated) {
// Player has been authenticated!
[weakPlayer unregisterAllListeners];
[weakPlayer registerListener:weakSelf];
// GKTurnBasedEventHandler *ev =
// [GKTurnBasedEventHandler sharedTurnBasedEventHandler];
// ev.delegate = self;
} else {
// Should disable Game Center?
}
};
}
}