iPhone模拟器6.0无法连接到的GameCenter的沙盒模式(iPhone Simulator

2019-08-05 02:46发布

我试图实施有针对性的到iOS 6的GameCenter一个应用程序知道要查看关于我的工作在Mac OS 10.7.5与版本XCode的环境有一些信息是4.5.2和Xcode是运行iPhone和iPad模拟器版本6.0。 这个问题在沙盒模式既不是通过iPad或iPhone模拟器我无法连接到GameCenter的,但同样的代码工作所需,而在我的iPhone测试。

我遵循苹果的开发者库中的GameCenter的编程指南,我得到这个ATM是从的applicationDidFinishLaunching中的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";
    }

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

任何想法可能是可能的原因是什么?

编辑:哦,原来输出部分与GKSConnSettings开始并不说明任何问题,这是常规的输出,同时连接到游戏中心,我从我读了互联网的理解。 我印刷认证块内的实际错误消息(GKErrorDomain = 2 ...)。

Answer 1:

我得到的灵感: https://stackoverflow.com/a/8115807/837244 ,并决定登录到游戏不同的代码中心帐户。 因此,在viewDidLoad中,我通常称为:

[[GCHelper sharedInstance] authenticateLocalUser:self];

现在,我评论说出来,进入游戏中心通过以下网址方案,登录到我的帐户,之后注销。

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

并通过注释URL代码,并使用原来的代码最后又恢复。 现在,它工作得很好,我想这个问题是,在模拟器游戏中心帐户已经上瘾了,它否认了BC的每一个登录请求。 希望苹果进入更为清晰的错误信息,花了一个月的时间解决这样一个简单的问题,这可能会帮助别人。



Answer 2:

我知道这个问题的引用特定的Xcode和iOS模拟版本,但如果你的模拟器是在一个帐户已经登录了,你不介意丢失任何数据你已经在模拟器上得到了(机会很小,但你永远不知道)你可以简单地重置它的设置和数据。

转到:模拟器 - >重置内容和设置...

...并在提示时确认操作。

这是千真万确的Xcode7.x运行的iOS版本9.x的模拟器,别人也许可以验证它是否是为早期版本的真(尤其是我已经出土的很旧的问题和答案)。

Animal451

Necrothreadomancy:+1



文章来源: iPhone Simulator 6.0 not able to connect to gamecenter in sandbox mode