and*_*ers 7 center ios gkmatchmaker
我有一个简单的问题,但我查看了Apple的文档并进行了一些搜索,但我找不到答案.
是否有可能以编程方式提取Game Center的登录视图?我有一个UIButton需要Game Center,如果客户端在应用程序打开时没有登录(iOS在启动时拉出登录视图),我想为用户提供第二次登录的机会.
我假设您在启动时调用此 GKLocalPlayer 方法:-setAuthenticateHandler:(>= iOS7) 或-authenticateWithCompletionHandler:(<= iOS6)
如果用户取消显示的登录屏幕,再次调用这些方法将不会执行任何操作,或者更确切地说,调用完成处理程序时会出现错误。然后,用户需要通过 GameCenter 应用程序或设置应用程序登录到 GameCenter。(在测试时,您可以通过 GameCenter 应用程序登录,然后注销。之后屏幕可以再次出现在您自己的应用程序中。)您可以显示一个 UIAlertView 告诉用户通过 GameCenter 应用程序登录。
或者,我不知道这是否允许/可批准,但在 iOS7 中authenticateHandler有一个viewController参数保存登录屏幕。如果您将此登录视图控制器存储在实例变量中并且用户取消登录,您可以稍后使用UINavigationController.
如果您尝试使用-presentViewController:animated:completion:视图控制器的“取消”按钮显示保存的登录视图控制器不再有效,但使用UINavigationController隐藏“取消”按钮并允许导航回您自己的视图控制器。
您还需要在用户通过响应 登录后手动隐藏登录屏幕GKPlayerAuthenticationDidChangeNotificationName。开发人员似乎无法做到这一点,因此它可能无法通过批准,但它确实有效!
| 归档时间: |
|
| 查看次数: |
1637 次 |
| 最近记录: |