通过蓝牙在iOS和Android之间传输数据?

我一直在阅读如何使用GameKit通过蓝牙在iOS设备之间传输数据。 我本身并不是在编写游戏,而是需要在两台设备之间传输less量的二进制数据。 在两个iOS设备之间,这很容易。 不过,我想知道是否有可能通过相同的机制在iOS设备和Android设备之间传输数据。

有没有人遇到文档/教程,将解释如何做到这一点? 这在技术上甚至可能吗? 或者,苹果公司有什么限制可以阻止这种情况?

我发现的另一个select是通过蓝牙的Bonjour。 这对于这种types的操作会是更合适的select吗?

这个问题已经在这个网站上被询问了很多次,最终的答案是: NO,你不能通过蓝牙连接一个Android手机到iPhoneYES苹果有限制,以防止这种情况。

一些可能的select:

  1. Bonjour通过WiFi,正如你所说的。 但是,我找不到一个全面的教程。
  2. 一些基于互联网的同步服务,如Dropbox,Google Drive,Amazon S3。 这些通常有几个平台的库。
  3. 通过套接字直接进行TCP / IP通信。 ( 如何在iOS中编写小型(套接字)服务器 )
  4. 一旦Android端的问题得到解决,蓝牙低功耗将成为可能( 使用蓝牙LE在iOS和Android之间进行通信 )

最酷的select :使用Bump API 。 它具有iOS和Android支持,并且非常易于集成。 对于小型有效载荷,这可能是最方便的解决scheme。

有关为什么不能将任意设备连接到iPhone的详细信息 。 iOS只允许使用一些蓝牙configuration文件,而不需要Made For iPhone(MFi)authentication( HPF,A2DP,MAP … )。 您需要实现通信所需的串行端口configuration文件绑定到MFi成员资格。 该程序的成员资格为您提供了MFiauthentication模块 ,该模块必须添加到您的硬件中,并负责向iPhoneauthentication设备。 Android手机没有这个模块,所以即使可能build立物理连接,authentication步骤也会失败。 iPhone到iPhone的通信是可能的,因为两端都能够authentication自己。

也许有点延迟,但是技术已经发展了,所以肯定有新的信息可以提供新鲜的信息。

由于iOS尚未开放WiFi Direct的API,Multipeer Connectivity只有iOS,所以我相信最好的办法就是使用BLE,两种平台都支持BLE(比其他平台更好)。

在iOS上,设备可以同时作为BLE中央处理器和BLE外设,在Android上情况更为复杂,因为并非所有设备都支持BLE外设状态。 另外Android BLE堆栈非常不稳定(迄今为止)。

如果您的用例是function驱动的,那么我build议您查看可以为您实现跨平台通信的框架和库,而无需从头构build它。

例如: http : //p2pkit.io或谷歌附近

免责声明:我为Uepaa工作,为Android和iOS开发p2pkit.io。

你可以使用p2pkit,或者基于它的免费解决scheme: https : //github.com/GitGarage 。 不能很好地工作,它的固定器,当然,但它是免费的。 适用于现在less量的数据传输。