16

首先,我是一名 Android 开发人员,所以这个问题要问所有的 iOS 开发人员。

是否可以实现 Android <-> iPhone/iPad直接通信
有些人声称这是不可能的,有些人声称这是不可能的。

我想两种可能的技术蓝牙和/或 Wi-Fi Direct。
不建议使用 Wi-Fi Direct,因为 Gingerbread 不支持它,据我所知,iPhone 也不支持它(可能是 iPhone 6,正如我从谣言中听到的那样)

众所周知,iOS 设备之间使用GameKit实现蓝牙通信,这里有一个参考

我不明白与 GameKit 交流时有什么特别之处??
消息是否以某种方式在消息的开头和结尾带有额外的字节?好的,我们可以在 Android 中以同样的方式包装消息!
消息是否加密?!如果是这样,我们可以在 Android 设备中收到它们时解密它们吗?

任何想法、变通方法或其他黑客解决方案都非常受欢迎!

4

3 回答 3

16

iOS 中提供了三个框架,您可以使用它们来开发蓝牙应用程序:

1. GameKit:这是公开可用的框架。但是使用这个你只能在两个 iOS 设备之间建立和通信。所以这个框架有其自身的局限性。

2.BluetoothManager:这是私有框架。我用这个框架来发现非iOS设备。我也建立了连接。但不能进行数据交换。我认为它仍在开发中。对于参考,您可以参考此链接

3. CoreBluetooth:这也是公共框架。这只能发现支持BLE的设备。我已经成功地使用它在支持 BLE 的设备之间传输数据。

于 2013-04-09T09:58:18.810 回答
3

iOS 没有实现任何允许它与其他操作系统通信的标准蓝牙协议。GameKit 是专有的,如果它很容易破解,那么人们早就这样做了(Apple 会堵住这个漏洞)。

蓝牙 LE 仅被少数 Android 设备支持(它还没有在 AOSP 中)所以它还不是真的有用,即使它确实支持点对点。

我已经读过可以通过 Wi-Fi 直接执行您想要的操作,例如使用这个库: https ://www.alljoyn.org/ 它说它同时支持 Android 和 iOS - 我还没有尝试过它自己,但它似乎做你所追求的。

于 2013-03-23T03:09:17.740 回答
1

对于同一本地网络上的设备,Bonjour(又名 zeroconf)可能是不同机器/设备上的进程发现并相互交互的好方法。

有关Bonjour 的 Android 实现的一些指针,请参阅适用于 android 的 apple bonjour 。

于 2013-03-22T21:50:31.473 回答