iPhone模拟器6.0无法以沙箱模式连接到游戏中心 [英] iPhone Simulator 6.0 not able to connect to gamecenter in sandbox mode

查看:110
本文介绍了iPhone模拟器6.0无法以沙箱模式连接到游戏中心的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现一个针对iOS 6的游戏中心感知应用程序。为了给出一些关于环境的信息我在mac os 10.7.5上使用XCode版本是4.5.2而xcode正在运行iphone和ipad模拟器版本6.0。问题是我无法通过ipad或iphone模拟器连接到沙盒模式的gamecenter,但是在我的iphone中测试时,相同的代码可以正常工作。

I'm trying to implement a gamecenter aware app targeted to iOS 6. To give some info on the environment I'm working on mac os 10.7.5 with XCode version is 4.5.2 and xcode is running iphone and ipad simulator version 6.0. The problem is I cannot connect to gamecenter in sandbox mode neither through ipad or iphone simulator, but the same code works as desired while testing in my iphone.

我按照苹果开发者库中的游戏中心编程指南进行了操作,我从appdelegate的applicationDidFInishLaunching调用它:

I followed the gamecenter programming guide in apple's developer library and I got this atm it is called from applicationDidFInishLaunching in appdelegate:

- (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";
    }

虽然我的操作系统不是10.8.2但我已经尝试过修复主机文件没有帮助。 https://devforums.apple.com/thread/168811?tstart=0

I already tried hosts file fix though my OS is not 10.8.2 but it didn't help. https://devforums.apple.com/thread/168811?tstart=0

知道可能的原因是什么?

Any idea what can be the possible cause?

编辑:嗯,事实证明输出部分已经开始使用GKSConnSettings并不表示任何问题,这是连接到游戏中心时的常规输出,正如我从互联网上阅读的内容所理解的那样。我在认证块中打印了实际的错误消息(GKErrorDomain = 2 ...)。

Well, it turns out the output part starting with GKSConnSettings does not indicate any problems, that's the regular output while connecting to game center as I understood from what I read over internet. I printed the actual error message (GKErrorDomain = 2 ...) inside the authentication block.

推荐答案

我的灵感来自: https://stackoverflow.com/a/8115807/837244 ,并决定以不同的方式登录游戏中心帐户一段代码。所以在viewdidload中我通常会调用:

I got the inspiration from : https://stackoverflow.com/a/8115807/837244, and decided to log in to game center account with a different piece of code. So in viewdidload I normally called:

[[GCHelper sharedInstance] authenticateLocalUser:self];

现在我评论说,通过以下网址方案访问游戏中心,登录到我的帐户,之后退出。

Now I commented that out, accessed game center through below URL scheme, logged in to my account and after that logged out.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];

最后通过注释掉URL代码并使用原始代码来恢复。现在它工作正常,我想问题是游戏中心帐户已经在模拟器中连接,它拒绝了每个登录请求bc。希望苹果更加清楚,错误消息,花了一个月的时间来修复这么简单的问题,这可能对其他人有所帮助。

And lastly reverted back by commenting out URL code and using the original code. Now it works fine, I guess the problem was that a game center account was already hooked up in simulator and it denied every login request bc of that. Hope apple goes clearer with error messages, it took a month to fix such a simple issue, may this help to others.

这篇关于iPhone模拟器6.0无法以沙箱模式连接到游戏中心的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆