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?
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:
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.
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.
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.