Apple GameKit - 如何将多部 iPhone 连接到 Ipad 作为服务器但具有不同的 Bundle ID

Posted

技术标签:

【中文标题】Apple GameKit - 如何将多部 iPhone 连接到 Ipad 作为服务器但具有不同的 Bundle ID【英文标题】:Apple GameKit - How to connect multiples iPhone to an Ipad as a server but with different Bundle IDs 【发布时间】:2012-02-21 21:55:40 【问题描述】:

我正在通过 ios 开发人员库寻找一种方法来实现 iPad Scrabble 应用程序的功能,即在 iPad 上托管游戏并让多部 iPhone 通过蓝牙连接到它。

我知道,如果每个人的应用程序都具有相同的 Bundle Identifier,则可以使用 GameKit 玩多人游戏。问题是,在 Scrabble 案例中,您下载了 2 个不同的应用程序,它们仍然可以相互连接。

这让我很困惑,因为开发者库声明:

注意:匹配只能与相同的其他副本进行 应用程序(即共享同一个包的应用程序 标识符)。你不能在两个不同的人之间进行配对 应用程序。

知道如何实现吗?我基本上想要一个在 iPhone 上显示从 iPad 上的服务器调用的内容的免费应用程序。

谢谢!

【问题讨论】:

你能做一个通用的应用程序吗? 如果我这样做了,iPad 上的价格可以与 iPhone 上的价格不同吗?因为在我的设计中,iPad 应用程序将用于管理游戏(付费),而 iPhone 仅作为游戏的扩展(免费)。如果是这样,是的,我想这会解决它。 不,价格必须相同。我知道 KL Dartboard 和 KL Darts 使用蓝牙做类似的事情,所以这是可能的 【参考方案1】:

因此您不能使用游戏中心提供的匹配,但您可以使用initWithSessionID:displayName:sessionMode: 手动创建 GKSession 并为不同的应用程序传递相同的会话 ID

您需要制作自己的会话选择器视图并实现 GKSessionDelegate

https://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Conceptual/GameKit_Guide/GameKitConcepts/GameKitConcepts.html#//apple_ref/doc/uid/TP40008304-CH100-SW18

【讨论】:

是的,我正在使用 Bonjour 和 NSNetService。

以上是关于Apple GameKit - 如何将多部 iPhone 连接到 Ipad 作为服务器但具有不同的 Bundle ID的主要内容,如果未能解决你的问题,请参考以下文章

MacOS GameKit 排行榜无法加载应用程序“不支持排行榜”错误

使用 gameKit 框架连接多个设备

检查您是不是已在 Game Center/GameKit 中解锁成就

GameKit蓝牙传输问题

Swift:解码从 GameKit 发送的消息

内部 Apple Watch 应用程序开发和部署?