我一直在阅读如何使用GameKit通过蓝牙在iOS设备之间传输数据。我本身并不是在编写游戏,但确实需要在两个设备之间传输少量二进制数据。在两个iOS设备之间,这很容易。但是,我想知道是否可以通过相同的机制在iOS设备和Android设备之间传输数据。
有没有人遇到过可以解释如何执行此操作的文档/教程?它在技术上是否可行?或者苹果公司是否提出了某种限制措施来防止这种情况发生?
我发现的另一个选择是Bonjour通过蓝牙。对于这种类型的操作,这是一个更合适的选择吗?
答案 0 :(得分:79)
本网站已多次询问此问题,最终答案是:否,您无法通过蓝牙将Android手机连接到iPhone ,是Apple Apple有限制这阻止了这一点。
一些可能的替代方案:
最酷的替代:使用Bump API。它具有iOS和Android支持,并且非常易于集成。对于小型有效载荷,这可能是最方便的解决方案。
有关您无法将任意设备连接到iPhone 的详细信息。 iOS仅允许使用某些蓝牙配置文件,而无需使用Made For iPhone(MFi)认证(HPF, A2DP, MAP...)。实现通信所需的Serial Port Profile绑定到MFi成员资格。此程序的成员资格为您提供了必须添加到您的硬件的 MFi身份验证模块,并负责向iPhone验证设备。 Android手机没有此模块,因此即使可能建立物理连接,身份验证步骤也会失败。 iPhone和iPhone之间的通信是可能的,因为两端都能够自我验证。
答案 1 :(得分:2)
也许有点延迟,但技术已经发展,因此肯定有新的信息可以解释这个问题...
由于iOS还没有打开WiFi Direct和Multipeer Connectivity的API,我认为最好的方法是使用BLE,这两个平台都支持(有些比其他平台更好)。
在iOS上,设备可以同时充当BLE中心和BLE外设,在Android上情况更复杂,因为并非所有设备都支持BLE外设状态。此外,Android BLE堆栈非常不稳定(迄今为止)。
如果您的用例是功能驱动的,我建议您查看可以为您实现跨平台通信的框架和库,而无需您从头开始构建。
例如:http://p2pkit.io或谷歌附近
免责声明:我为Uepaa工作,为Android和iOS开发p2pkit.io。
答案 2 :(得分:2)
您可以使用p2pkit或其基于的免费解决方案:https://github.com/GitGarage。不能很好地工作,它确实是一个固定器,但是,它是免费的。适用于现在的少量数据传输。