2013-03-22 5 views
16

Zunächst einmal bin ich ein Android-Entwickler, also die Frage geht an alle iOS-Entwickler.Android <-> iOS direkte Kommunikation (Bluetooth). Ist es möglich?

Ist es möglich, ein Android zu erreichen < -> iPhone/iPad direkte Kommunikation?
Einige behaupten, dass es nicht möglich ist, andere behaupten, dass es ist.

Ich denke, zwei mögliche TechnologienBluetooth und/oder Wi-Fi Direct wäre.
Wi-Fi Direct wird nicht empfohlen, da es nicht von Lebkuchen und so weit unterstützt wird, wie ich weiß, ist es nicht vom iPhone unterstützt entweder (vielleicht iPhone 6, wie ich von Gerüchten gehört habe)

Es ist bereits bekannt, dass Bluetooth-Kommunikation zwischen iOS-Geräten mit GameKit erreicht wird und hier ist eine reference.

Ich verstehe nicht was ist so speziell bei der Kommunikation mit GameKit ??
Sind die Nachrichten in irgendeiner Weise mit zusätzlichen Bytes am Anfang und am Ende der Nachricht verpackt?? Gut, wir können die Nachrichten in Android genauso verpacken!
Sind die Nachrichten verschlüsselt? !! Und wenn ja, könnten wir sie entschlüsseln, wenn sie in einem Android-Gerät empfangen werden?

Alle Ideen, Workarounds oder andere Hacker-Lösungen sind meist willkommen!

+2

Nun, die Frage, die Sie als Duplikat beziehen, wurde vor über einem Jahr gestellt. Jemand würde erwarten, dass es in letzter Zeit Neuigkeiten gegeben hat. Aber danke für die Verknüpfung der Frage –

+0

einige verwandte Informationen in diesem Link: http://is.gd/i2UbhE aber immer noch kann keine gute Antwort finden, weil ich denke, die Android Bluetooth API ist ein höheres Niveau (so einfach wie mit Eingabe arbeiten -output-Streams) und für die iOS-Lösung muss man tiefer gehen von dem, was ich sagen kann. –

+1

Vielleicht in leichter Verspätung, aber Technologien haben sich inzwischen weiterentwickelt: Der aktuelle Stand ist, dass die Verbindung zwischen iOS und Android über BLE möglich ist, allerdings noch viele Androiden unterstützen den BLE Peripheral Mode nicht, und der Android BLE Stack ist sehr instabil. Darüber hinaus wird WiFi Direct von Android unterstützt, aber auf iOS ist es noch nicht öffentlich verfügbar. Wenn ich kann, würde ich empfehlen, Frameworks zu betrachten, die plattformübergreifende P2P für Sie tun können, so dass Sie nicht Ihre Zeit verbringen müssen, um Netzwerkcode zu schreiben. Solche Frameworks könnten derjenige sein, an dem ich gerade arbeite, http://p2pkit.io oder Google in der Nähe. – p2pkit

Antwort

1

Für Geräte im selben lokalen Netzwerk kann Bonjour (a.k.a. zeroconf) eine gute Methode sein, Prozesse auf verschiedenen Maschinen/Geräten zu erkennen und miteinander zu interagieren.

Siehe apple bonjour for android für einige Hinweise auf eine Android-Implementierung von Bonjour.

+0

das gleiche lokale Netzwerk? Nopp! Geräte gehören nicht zu einem lokalen Netzwerk. In der Tat wird kein Netzwerk angenommen, noch ein Internet. Dies ist, warum ich erwähnt wifi - ** direkt ** und nicht einfach wifi, und auch deshalb ist Bluetooth wichtig –

+0

Hallo @Caleb ich muss meine eigene App für solche Kommunikation ist das möglich? –

+0

Während ich keinen Bounjour-Dienst (CocoaHTTP-Bibliothek) von meinem iPhone aus erkennen konnte, konnte ich die IP-Adresse des iPhone-Hotspots (Standart 170.20.10.1) fest codieren und mit ihm verbinden und eine Verbindung herstellen Seite gehostet auf dem iPhone. – Fraggle

3

iOS implementiert keine Standard-Bluetooth-Protokolle, die es ihm ermöglichen würden, mit anderen Betriebssystemen zu kommunizieren. GameKit ist proprietär und wenn es leicht wäre, es zu hacken, hätten die Leute das schon getan (und Apple hätte das Loch geschlossen).

Bluetooth LE wird nur von wenigen Android-Geräten unterstützt (es ist noch nicht in AOSP), so dass es noch nicht wirklich nützlich ist, auch wenn es Peer-to-Peer unterstützt.

Ich habe gelesen, dass es möglich ist, zu tun, was Sie über Wi-Fi direkt, z. mit dieser Bibliothek: https://www.alljoyn.org/ Es sagt, dass es sowohl Android & iOS unterstützt - ich habe es nicht selbst versucht, aber es scheint zu tun, was Sie wollen.

16

Es gibt drei Frameworks in iOS mit dem Sie die Bluetooth-Anwendungen entwickeln können:

1. GameKit: Dies ist der öffentlich zugängliche Rahmen. Aber mit diesem können Sie nur zwischen zwei iOS-Geräten einrichten und kommunizieren. Dieser Rahmen hat also seine eigenen Grenzen.

2. BluetoothManager: Dies ist ein privates Framework.Ich habe dieses Framework verwendet, um die Nicht-iOS-Geräte zu finden. Ich habe die Verbindung auch hergestellt. Kann aber den Datenaustausch nicht durchführen. Ich denke, es ist noch in der Entwicklung. Für die Referenz können Sie sich beziehen this link

3. CoreBluetooth: Dies ist auch der öffentliche Rahmen. Dies kann nur BLE aktivierte Geräte entdecken. Ich habe dies erfolgreich verwendet, um die Daten zwischen den BLE-fähigen Geräten zu übertragen.

+1

Sie haben angegeben, dass Sie erfolgreich Daten zwischen BLE-fähigen Geräten über CoreBluetooth übertragen haben. Mit welchen BLE-Geräten sprechen Sie? Können Sie mir/uns bestätigen, dass Sie erfolgreich Daten auf ein Android-Gerät wie das Samsung Galaxy S4 oder ein Nexus 4 übertragen haben? Oder nur ein BLE Pin? @ V-Xtreme – klefevre

+0

@ kl94: Für die Datenübertragung benötigen Sie nur zwei BLE-fähige Geräte, egal ob iOS-Gerät, Android-Gerät oder BLE-Modem. Wenn Sie die Ebenen wie Peripherie, Service und Merkmal rendern können, können Sie jede Operation mit dem Merkmal abhängig von der Eigenschaft des Merkmals durchführen, dh Lesen/Schreiben/Benachrichtigen –

+0

Nur ein Hinweis für jemanden, der sich mit CoreBluetooth herumschlägt, hier ist ein Link zu ein paar Beispielquellcode von Apple: https://developer.apple.com/library/ios/samplecode/TemperatureSensor/Listings/TemperatureSensor_main_m.html#//apple_ref/doc/uid/DTS40012194-TemperatureSensor_main_m-DontLinkElementID_12 –

Verwandte Themen