• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - Game Center 验证本地玩家

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:46:32 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试使用以下代码对本地播放器进行身份验证:

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
if(!localPlayer.authenticated) {
    localPlayer.authenticateHandler = ^(UIViewController* controller, NSError *error) {
        if(controller != nil)
            [self presentModalViewController:controller animated:YES];
    };
}

但问题是即使 [GKLocalPlayer localPlayer].authenticated 为假,在 authenticationHandler block 中返回的 Controller 始终为零。因此,玩家中心似乎总是被禁用。



Best Answer-推荐答案


我发现此验证码在 iOS 8 中运行良好。

- (void)authenticateLocalPlayer
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    if (localPlayer.isAuthenticated) {
        [[NSNotificationCenter defaultCenter] postNotificationNameocalPlayerIsAuthenticated object:nil];
        return;
    }

    localPlayer.authenticateHandler  =
^(UIViewController *viewController, NSError *error) {
        [self setLastError:error];

        if(viewController != nil){
            [self setAuthenticationViewController:viewController];
        } else if([GKLocalPlayer localPlayer].isAuthenticated) {
            NSLog(@"connected to gk");
            _GKConnected = YES;
            [[NSNotificationCenter defaultCenter] postNotificationNameocalPlayerIsAuthenticated object:nil];
        }
        else {
            _GKConnected = NO;
        }
    };

    // REGISTER LISTENER FOR INVITES
    [localPlayer registerListener:self];
}

通知字符串可以是任何常量字符串(最好为反向 DNS 加上前缀以与 NotificationCenter org.myapp.notificationname 一起使用)。

在原始 OP 问题中,检索 GKPlayer 实例中 authenticated 属性的 getter 时出错:属性名称为 authenticated 但getter 必须是 isAuthenticated

找出这些语义拼写错误可能很简单,而编译器不会警告您,因为它可能是使用点符号访问的简单属性后面的更多代码,并且默认情况下,setter 以 is 开头。

顺便说一句,我可以通过工作示例教程添加指向知名教程的链接:

http://www.raywenderlich.com/60998/game-center-tutorial-how-to-make-a-simple-multiplayer-game-with-sprite-kit-part-2

关于ios - Game Center 验证本地玩家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432333/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap