首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS 6中使用游戏中心时出现问题

在iOS 6中使用游戏中心时出现问题
EN

Stack Overflow用户
提问于 2012-09-27 05:40:59
回答 3查看 4.7K关注 0票数 1

我曾经使用这个代码来登录游戏中心的用户账号:

代码语言:javascript
复制
[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error)
     {
         if (error != nil)
         {
             NSLog(@"LOGIN");
         } else {
             NSLog(@"CANT LOGIN");
         }
     }];

此代码在iOS 5.x上运行良好,但在iOS 6中会崩溃,如果您能帮助修复它,我将不胜感激。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-10-20 03:19:21

您需要检查iOS5或6. iOS6更改了身份验证功能

iOS6

代码语言:javascript
复制
   localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
    {
        //Something
    }

iOS5

代码语言:javascript
复制
    [localPlayer authenticateWithCompletionHandler:^(NSError *error)
    {
        //Something
    }];
票数 3
EN

Stack Overflow用户

发布于 2012-12-06 08:18:15

这在iOS 6中有效:

代码语言:javascript
复制
        GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
        if (viewController != nil) {
            [self presentViewController:viewController animated:YES completion:nil];
        } else if (localPlayer.isAuthenticated) {
            // do post-authentication work
        } else {
            // do unauthenticated work, such as error message, etc
        }
    };
票数 1
EN

Stack Overflow用户

发布于 2012-09-27 23:48:01

这就是Game Center Programming Guide

以下是您必须在iOS6中对用户进行身份验证的方式:

代码语言:javascript
复制
- (void) authenticateLocalPlayer
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){
         if (viewController != nil)
         {
             [self showAuthenticationDialogWhenReasonable: viewController
         }
         else if (localPlayer.isAuthenticated)
         {
             [self authenticatedPlayer: localPlayer];
         }
         else
         {
             [self disableGameCenter];
         }
     }];
}

您还应该检查this question,因为您的应用程序可能会因为自动旋转问题和游戏中心而崩溃,而不是由于身份验证机制本身

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12610890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档