IOS游戏中心GKLocalPlayerListener

2023-12-20

我试图在基于回合的游戏中实现一个事件监听器,以便玩家可以在他的回合处于活动状态或被朋友邀请时接收到事件监听器。 GKTurnBasedEventHandler 在 IOS 7 中已弃用,我在文档中读到我应该使用 GKLocalPlayerListener;但这就是它的延伸。有人用过吗,因为没有任何信息。

这是我之前尝试过的,但行不通。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    [localPlayer authenticateWithCompletionHandler:^(NSError *error)
     {
         if (localPlayer.isAuthenticated)
         { 
             GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
             [localPlayer registerListener:self];
         }
     }];

    return YES;
}

-(void)handleInviteFromGameCenter:(NSArray *)playersToInvite
{
    NSLog(@"test");
}

- (void)player:(GKPlayer *)player receivedTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive
{
    NSLog(@"test");
}

这是我用来注册 GKLocalPlayerListener 的一些代码

__weak GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error) {
   if (viewController) {
         [authenticateFromViewController presentViewController:viewController animated:YES completion:^{
          [localPlayer registerListener:self];
          NSLog(@"Authenticated. Registering Turn Based Events listener");
        }];
  } else if (localPlayer.authenticated) {
         [localPlayer registerListener:self];
         NSLog(@"User Already Authenticated. Registering Turn Based Events listener");
  } else {
         NSLog(@"Unable to Authenticate with Game Center: %@", [error localizedDescription]);
  }
};

该文档指出,您应该只注册一次 GKLocalPlayerEventListener,这样您就可以通过检查您是否已经注册来改进此代码。

注意authenticateWithCompletionHandler在 iOS 6 中已弃用,他们建议像我上面那样设置authenticateHandler 属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOS游戏中心GKLocalPlayerListener 的相关文章

  • 从服务器实时更新的 iOS 应用程序:Socket(使用流)还是 Apple 推送通知服务?

    我正在尝试制作一个 iOS 5 应用程序 该应用程序具有来自服务器的实时信息 它只会在应用程序运行时使用这些 为了使其实时且无需轮询 我一直在评估两种设计路线 创建从应用程序到服务器的套接字 并通过流交换信息 Pros 相对简单 不涉及第三
  • 如何在 iOS 上删除配对的蓝牙设备?

    我希望我的应用程序可以删除配对的蓝牙设备 因为如果设备与 iPhone 配对 则该设备无法用于其他设备 我尝试了 CBCentralManager cancelPeripheralConnection 但它不起作用 他们仍然配对 或者还有其
  • 在 iPad 上的弹出窗口中推送导航视图控制器时动画弹出窗口内容大小

    当包含的 UINavigationController 推送新控制器时 如何让 UIPopoverController 为其大小设置动画 我有一个UIPopover正在显示从UIBarButtonItem在我的 iPad 应用程序中 它包含
  • scrollViewDidScroll:在 UITableViewRowAnimation 上?

    当一个人使用一个UITableViewRowAnimation删除一行或添加一行时 有时如果该行位于表视图的最末端 则表会滚动 然而 即使它滚动它似乎并没有调用scrollViewDidScroll 关于代表 例如 我的委托中有以下代码 v
  • 如何在首选项包中使用 PSLinkListCell 中的值?

    我想为我的越狱调整制作一个偏好包 我成功地制作了一个带有可用开关的首选项捆绑包 但我想要一个选择颜色的设置 例子 Blue Color gt Yellow Green 所以如果我点击Color 它会将我带到另一个屏幕 要求我选择 Blue
  • Nativescript 中本机传感器的可访问性

    我决定选择在 Nativescript 跨平台 IOS Android 中实现应用程序 或者相应地使用 java swift 制作 真正的 本机应用程序 放弃明显的 1 代码库与 2 代码库讨论 我不确定 Nativescript 的局限性
  • 检测 AVPlayerViewController 是否正在播放视频或正在缓冲并向播放器添加覆盖

    我必须检测视频是否处于播放模式或缓冲模式 我正在从 URL 加载视频 我已经尝试了下面的代码 我可以在视频开始播放后进行跟踪 但不能在视频处于缓冲状态时进行跟踪 另外 我想在我的播放器中添加覆盖视图 我尝试在 AVPlayer 中添加叠加层
  • 函数“FBSDK_NOT_DESIGNATED_INITIALIZER”的隐式声明在 C99 中无效预期“)”

    我正在使用适用于 iOS 4 6 0 的 Facebook SDK 今天将 cocoapods 更新到 0 38 2 后遇到了上述错误 我不确定这个错误与 cocoapods 有什么关系 Error screenshot 我遇到过同样的问题
  • 是否可以?相机 API ios [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在应用程序中实现一项功能 当用户
  • 从 Google/Facebook 帐户重新验证用户身份

    因此 我需要创建一个 REST API 来为 IOS 应用程序提供功能 我们允许用户仅使用普通帐户或使用脸书 谷歌登录 我最近一直在阅读 OAuth 我想我了解在我的情况下如何使用 OAuth 的过程 当用户使用脸书 谷歌登录 在我的应用程
  • 更新到 Xcode 7.0.1,项目现在有问题

    因此 我将 Xcode 6 1 版本上传到 iTunes Connect 并且该应用程序获得了批准 现在我正在尝试更新应用程序 我更新到 Xcode 7 0 1 Xcode 给我带来了问题 指出 对于应用程序 我使用了故事板和 Object
  • iOS 新手。预期的表达错误?

    这看起来很不寻常 因为该方法与我的 showAnswer 方法完全相同 所以我想我应该在这里问 import QuizViewController h interface QuizViewController end implementat
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • 我可以使用 NSDateFormatter 将此日期字符串转换为 NSDate 吗?

    我有这个字符串 2010 08 24T16 00 00 05 00 我想从中提取时间部分 即 16 00 并将其转换为 12 小时等效值 即下午 04 00 我正在尝试使用 NSDateFormatter 来完成此任务 但它不起作用 NSD
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • 连接到 Apple Music

    所以我尝试使用 React Native 应用程序从 iOS 设备连接到 Apple Music 有一个 API 可以执行相同的操作 但我需要从 storekit 框架调用一个函数 提出个性化请求 苹果音乐API https develop
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • UINavigationController 在后退按钮单击时向下滚动

    我正在开发一个带有多个导航控制器的 iPhone iPad 应用程序 当我在设备处于横向模式时单击视图的后退按钮时 前一个视图会垂直滚动到屏幕中 而不是像往常一样水平滚动 推送动画始终水平工作 正如它应该的那样 是什么导致了这个奇怪的问题
  • NSURLConnection 是否自动保留从服务器发送的 cookie?

    我从 ios 登录到我的龙卷风后端并发回 secure cookie 我注意到只要验证我设置的 secure cookie 我还可以请求其他信息 NSURLConnection 会保留 cookie 多久 或者关闭应用程序后 cookie
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐

  • VS2010数据库项目有表设计器吗?

    我在这里错过了什么吗 似乎在 VS2010 的数据库项目中创建新表的唯一选项是 创建一个表对象作为文件 然后将所有约束 默认 创建为单独的文件 然后将每个索引创建为单独的文件 并将主键创建为单独的文件 等等 Or 使用 SSMS 中的表设计
  • Qt:字段类型不完整

    无法编译我的课程 出现错误 错误 字段 文件名 的类型不完整 如果我改变QString filename to QString filename 错误消失 但我需要QString filename 进程 h ifndef PROCESS H
  • Android 对话框中的中心消息

    我希望对话框中的消息文本居中对齐 当然 您始终可以设置原始文本视图的重力 这使您不必担心格式和填充 例如 AlertDialog Builder builder new AlertDialog Builder this builder se
  • 为什么 tqdm 打印到换行符而不是更新同一行?

    我正在用 python 开发一个小型命令行游戏 其中使用 tqdm 模块显示进度条 我使用 msvcrt 模块监听用户输入来中断进度 一旦中断 用户可以通过在命令行提示符中输入 restart 来重新启动 第二次显示进度条时 它不会用进度更
  • 可变数量的依赖嵌套循环

    给定两个整数n and d 我想构造一个所有长度非负元组的列表d总而言之n 包括所有排列 这类似于整数划分问题 https stackoverflow com questions 10035752 elegant python code f
  • ASP.NET Core 模板 3.1.5 - serviceDependencies.json

    我刚刚更新了视觉工作室 2019并指出 在新的ASP NET Core MVC 的模板 3 1 5 有服务依赖关系 json目前在 ASP NET Core 文档中没有任何关于此的内容 而且我在 google 中也找不到任何内容 我明白 以
  • 检查 current_user 是否是资源的所有者并允许编辑/删除操作

    Example User A id 10 已创建photo资源 photo id 1 user id 10 url http 现在 如果用户B id 20 转到此网址 photos 1 edit它可以编辑用户的照片A 导轨 设计默认情况下为
  • 显示谓词子句每个目标的执行时间

    我想查看谓词目标内的执行时间SICStus 序言 例子 pred goal1 time goal2 time go call pred time go go times go 预期结果 time go times go 1000ms tim
  • SQL Server 转换因算术溢出而失败

    根据 SQL Server 2008 联机丛书中关于小数和数字数据类型的条目 精度为 p 精度 可存储的小数位数的最大总数 包括小数点左侧和右侧 精度必须是 1 到最大精度 38 之间的值 默认精度为 18 但是 下面的第二个选择失败 并显
  • Composer 在每个项目上都内存不足,Mac OS X

    我尝试安装aws aws sdk php昨天在我的一个使用 Composer 的 Laravel 4 项目中 我记不清具体的事件链 但它没有安装成功 从那时起 我一直收到 Composer 内存不足的错误 Fatal error Allow
  • 如何识别 T-SQL 中每个不同成员的多个开始和结束日期范围中的第一个间隙

    我一直在进行以下工作 但没有取得任何成果 而且截止日期很快就到了 此外 还有超过一百万行 如下所示 感谢您对以下内容的帮助 目标 按成员对结果进行分组 并通过组合彼此重叠或连续运行且在范围的开始日和结束日之间没有间断的各个日期范围 为每个成
  • 应用程序关闭时的 iOS 任务

    我正在构建一个通过 ajax 将文件上传到服务器的应用程序 问题是用户有时很可能没有互联网连接 而客户端希望将 ajax 调用安排在用户恢复连接的时间 用户可能会在离线时安排文件上传并关闭应用程序 当应用程序关闭时 不在后台 是否可以进行a
  • 用简单的英语来说什么是“网络服务”?

    我一直在 SO 维基百科 谷歌等上阅读有关 网络服务 的内容 但我不太明白它们是什么 简单的英语定义 描述是什么 如果我使用 PHP 制作一个简单的网站 比如说 将一个随机整数打印到页面上 这是一个 Web 服务 吗 如果没有 为什么不呢
  • 如何将 FormWizard 包装在视图中?

    如何包装 Django表单向导 http docs djangoproject com en dev ref contrib formtools form wizard 在一个视图中 我需要这样做才能访问request 有人有这方面的示例代
  • 将不同等级的张量相乘

    我想将两个具有不同等级的张量相乘 例如 tensor A gt i x j x k x l tensor B gt l x m 得到另一个具有这个尺寸的张量 tensor C gt i x j x k x m i x j x k x l l
  • java:如何使用 apache poi 创建数据透视表?

    我正在尝试使用 apache poi 创建 Excel Pivot 但我不太明白如何创建我想要的格式 我使用此代码进行创建 但得到空值 XSSFPivotTable pivotTable sheet createPivotTable are
  • 如何使用 ant 删除 .svn 目录?

    我尝试了手册中的示例
  • 如何在 C++11 中正确检查 std::function 是否为空?

    我想知道如何正确检查是否std function是空的 考虑这个例子 class Test std function
  • 如何在 WPF 中使用鼠标在 ViewPort3D 中旋转相机?

    我能够直接在 XAML 中设置放置在 viewport3d 中的透视相机的位置和方向 但我想知道如何使用鼠标输入旋转相机 我更喜欢 C 语言 我实际上被困在如何使用鼠标输入旋转相机的问题上 请帮我 如果有人给我一个示例代码 那将会很有帮助
  • IOS游戏中心GKLocalPlayerListener

    我试图在基于回合的游戏中实现一个事件监听器 以便玩家可以在他的回合处于活动状态或被朋友邀请时接收到事件监听器 GKTurnBasedEventHandler 在 IOS 7 中已弃用 我在文档中读到我应该使用 GKLocalPlayerLi