web-dev-qa-db-ja.com

Bluetooth経由でiOSとAndroidの間でデータを転送しますか?

私はGameKitを使ってBluetoothを介してiOSデバイス間でデータを転送する方法について読んできました。私はゲーム自体を書いているのではありませんが、2つのデバイス間で少量のバイナリデータを転送する必要があります。 2台のiOSデバイス間では、これは十分簡単です。しかし、iOSデバイスとAndroidデバイスの間で同じメカニズムを介してデータを転送することが可能かどうかと思いました。

これを行う方法を説明する文書やチュートリアルに遭遇したことがありますか?技術的にも可能ですか?それとも、Appleはこれを防ぐための何らかの制限を設けていますか?

私が発見した他の選択肢は、Bluetooth経由のBonjourでした。これは、この種の操作に適した選択肢でしょうか。

58
Shadowman

この質問はこのサイトで何度も聞かれてきました。最も確実な答えは:いいえ、あなたはBluetooth経由でiPhoneにAndroid携帯を接続することはできません、そしてYES Appleはこれを防ぐ制限があります。

いくつかの可能な選択肢:

  1. あなたが言ったようにWiFi経由でBonjour。しかし、私はそれのための包括的なチュートリアルを見つけることができませんでした。
  2. Dropbox、Google Drive、Amazon S3などのインターネットベースの同期サービス。これらは通常いくつかのプラットフォーム用のライブラリを持っています。
  3. ソケットを介した直接TCP/IP通信( iOSで小型(ソケット)サーバーを作成する方法
  4. Android側の問題が解決したら、Bluetooth Low Energyが可能になります( Bluetooth LEを使用したiOSとAndroidの間の通信

最もクールな方法Bump API を使う。それはiOSとAndroidをサポートしており、本当に統合するのが簡単です。ペイロードが小さい場合、これが最も便利な解決策になります。

iPhoneに任意の機器を接続できない理由の詳細。 iOSでは、Made For iPhone(MFi)認定なし( HPF、A2DP、MAP ... )のBluetoothプロファイルのみ使用できます。通信を実装するために必要となる シリアルポートプロファイル は、MFiメンバーシップに依存します。このプログラムへの参加は、あなたのハードウェアに追加されなければならないMFi認証モジュールをあなたに提供し、そしてiPhoneに向かってデバイスを認証する世話をする。 Android携帯にはこのモジュールがないため、物理的な接続が確立される可能性があるとしても、認証手順は失敗します。両端が自分自身を認証できるので、iPhoneからiPhoneへの通信が可能です。

79
allprog

少し遅れているかもしれませんが、それ以来技術は進化してきているので、そのことに新鮮な光を当てることに関する確かに新しい情報があります...

IOSはまだWiFi Direct用のAPIを開いておらず、マルチピアコネクティビティはiOSのみであるため、これに取り組む最良の方法はBLEを使用することであると考えます(BLEは両方のプラットフォームでサポートされています)。

IOSでは、デバイスはBLE CentralとBLE Peripheralの両方として同時に動作できます。Androidでは、すべてのデバイスがBLE Peripheral状態をサポートしているわけではないため、状況はより複雑です。また、Android BLEスタックは非常に不安定です(現在まで)。

あなたのユースケースが機能主導であるなら、私はあなたが最初からそれを作り上げる必要なしにあなたのためにクロスプラットフォームコミュニケーションを達成することができるFrameworksとLibrariesを見ることを勧めます。

たとえば、 http://p2pkit.io またはgoogle near

免責事項:私はAndroidとiOS用のp2pkit.ioを開発しながら、Uepaaで働いています。

2
p2pkit

あなたはp2pkit、またはそれが基づいていた無料のソリューションを使うことができました: https://github.com/GitGarage 。あまりうまくいきません、そして確かにそれはフィクサーアッパーですが、それは、まあ、無料です。現在少量のデータ転送に対応しています。

2
omikes