web-dev-qa-db-ja.com

Android <-> iOS直接通信(Bluetooth)。可能ですか?

まず第一に、私はAndroid=開発者なので、すべてのiOS開発者に質問があります。

Android <-> iPhone/iPad直接通信)を達成することは可能ですか?
不可能であるとする主張もあれば、不可能であると主張する者もいます。

私は2つの可能な技術Bluetoothおよび/またはWi-Fiであろうと思います直接。
Wi-Fi DirectはGingerbreadでサポートされておらず、私の知る限り、iPhoneでもサポートされていないため、お勧めしません(おそらくiPhone 6噂から聞いたように)

Bluetooth通信がiOSデバイス間でGameKitを使用して達成されることはすでに知られており、ここに 参照 があります。

GameKitと通信するときに何が特別なのかがわかりませんか?
メッセージは何らかの方法でラップされていますかメッセージの最初と最後に余分なバイトがありますか? Androidで同じようにメッセージをラップできます。
メッセージは暗号化されていますか?!!もしそうなら、Androidデバイスで受信されたときにそれらを復号化できますか?

任意のアイデア、回避策、または他のハッカーのソリューションは大歓迎です!

16

IOSで利用可能な3つのフレームワークがあり、それを使用してBluetoothアプリケーションを開発できます。

1。 GameKit:これは公開されているフレームワークです。ただし、これを使用して確立および通信できるのは、2つのiOSデバイスのみです。したがって、このフレームワークには独自の制限があります。

2。 BluetoothManager:これはプライベートフレームワークです。このフレームワークを使用して、iOS以外のデバイスを検出しました。私もつながりを確立しました。しかし、データ交換を行うことができません。まだ開発中だと思います。参考のために参照できます このリンク

3。 CoreBluetooth:これもパブリックフレームワークです。 [〜#〜] ble [〜#〜] 有効なデバイスのみを検出できます。これを使用して、BLE対応デバイス間でデータを転送することに成功しました。

16
V-Xtreme

iOSは、他のOSとの通信を可能にする標準のBluetoothプロトコルを実装していません。 GameKitはプロプライエタリであり、それをハッキングするのが簡単であれば、人々はすでにそうしているでしょう(そしてAppleが穴を塞いでいたでしょう)。

Bluetooth LEは少数のAndroid=デバイス(まだAOSPにはありません)でのみサポートされているため、ピアツーピアをサポートしていたとしても、まだ実用的ではありません。

私は、Wi-Fiダイレクトを介して、あなたがしていることを実行することが可能であると読みました。このライブラリでは: https://www.alljoyn.org/ 両方をサポートしていると表示されますAndroid&iOS-私は自分で試したことはありませんが、あなたがしたいことをするように見えます。

3
Tom

同じローカルネットワーク上のデバイスの場合、Bonjour(別名zeroconf)は、異なるマシン/デバイス上のプロセスがお互いを検出して相互作用するための良い方法となります。

Android Bonjourの実装へのポインタについては、Android向けApple bonjourを参照してください。

1
Caleb