wake-up-neo.com

Datenübertragung zwischen iOS und Android via Bluetooth?

Ich habe nachgelesen, wie ich mit GameKit Daten zwischen iOS-Geräten über Bluetooth übertragen kann. Ich schreibe kein Spiel an sich, muss aber eine kleine Menge von Binärdaten zwischen zwei Geräten übertragen. Dies ist zwischen zwei iOS-Geräten recht einfach. Ich habe mich jedoch gefragt, ob es möglich ist, Daten über denselben Mechanismus zwischen einem iOS-Gerät und einem Android-Gerät zu übertragen.

Ist jemand auf Dokumentation/Tutorial gestoßen, das erklären würde, wie man das macht? Ist das überhaupt technisch möglich? Oder hat Apple eine Einschränkung eingeführt, die dies verhindern würde?

Die andere Option, die ich entdeckte, war Bonjour über Bluetooth. Wäre dies eine geeignetere Option für diese Art von Operation?

58
Shadowman

Diese Frage wurde auf dieser Website schon oft gestellt und die endgültige Antwort lautet: NEIN, Sie können kein Android) Telefon über Bluetooth mit einem iPhone verbinden. und JA Apple hat Einschränkungen, die dies verhindern.

Einige mögliche Alternativen:

  1. Bonjour über WLAN, wie Sie bereits erwähnt haben. Ich konnte jedoch kein umfassendes Tutorial dafür finden.
  2. Einige internetbasierte Synchronisierungsdienste wie Dropbox, Google Drive und Amazon S3. Diese haben normalerweise Bibliotheken für mehrere Plattformen.
  3. Direkte TCP/IP-Kommunikation über Sockets. ( Wie schreibe ich einen kleinen (Socket-) Server in iOS? )
  4. Bluetooth Low Energy wird möglich sein, sobald die Probleme auf der Seite Android) behoben sind. ( Kommunikation zwischen iOS und Android mit Bluetooth LE )

Coolste Alternative : Verwenden Sie die Bump API . Es hat iOS und Android Unterstützung und ist sehr einfach zu integrieren. Für kleine Nutzlasten kann dies die bequemste Lösung sein.

Details, warum Sie kein beliebiges Gerät an das iPhone anschließen können . iOS erlaubt nur die Verwendung einiger Bluetooth-Profile ohne die Made For iPhone (MFi) -Zertifizierung ( HPF, A2DP, MAP ... ). Das Serial Port Profile , das Sie zur Implementierung der Kommunikation benötigen würden, ist an die MFi-Mitgliedschaft gebunden. Durch die Mitgliedschaft in diesem Programm erhalten Sie das MFi-Authentifizierungsmodul, das Ihrer Hardware hinzugefügt werden muss, und das sich um die Authentifizierung des Geräts gegenüber dem iPhone kümmert. Android Telefone haben dieses Modul nicht, so dass der Authentifizierungsschritt fehlschlägt, obwohl die physische Verbindung möglicherweise aufgebaut werden kann. Die Kommunikation zwischen iPhone und iPhone ist möglich, da beide Seiten sich authentifizieren können sich.

81
allprog

Vielleicht etwas verspätet, aber die Technologien haben sich seitdem weiterentwickelt, sodass es sicherlich neue Informationen gibt, die neues Licht auf die Angelegenheit werfen ...

Da iOS noch keine API für WiFi Direct und Multipeer Connectivity nur für iOS geöffnet hat, ist die Verwendung von BLE, das von beiden Plattformen unterstützt wird (einige besser als andere), meiner Meinung nach der beste Weg, dies zu erreichen.

Unter iOS kann ein Gerät gleichzeitig als BLE Central und BLE Peripheral fungieren. Unter Android ist die Situation komplexer, da nicht alle Geräte den Status BLE Peripheral unterstützen. Auch Android BLE Stack ist sehr instabil (bis heute).

Wenn Ihr Anwendungsfall funktionsbasiert ist, sollten Sie sich Frameworks und Bibliotheken ansehen, die eine plattformübergreifende Kommunikation für Sie ermöglichen, ohne dass Sie sie von Grund auf neu aufbauen müssen.

Zum Beispiel: http://p2pkit.io oder Google in der Nähe

Haftungsausschluss: Ich arbeite für Uepaa und entwickle p2pkit.io für Android und iOS.

2
p2pkit

Sie können p2pkit oder die kostenlose Lösung verwenden, auf der es basiert: https://github.com/GitGarage . Funktioniert nicht sehr gut, und es ist sicher ein Fixer-Upper, aber es ist, na ja, kostenlos. Funktioniert gerade für kleine Datenmengen.

2
omikes