2013-07-10 8 views
11

weg von this question,CoreBluetooth: Was die Lebensdauer des einzigartigen UUIDs ist

Nach dem Anschluss an eine Peripherie Folge, kann ich seine CFUUIDRef, abrufen, die einzigartig ist, und es kann über retrievePeripherals verbinden verwenden. Ich habe jedoch festgestellt, dass ich es nicht verwenden kann, um die Verbindung nach dem Schließen der Anwendung wiederherzustellen.

Wird das einzigartige UUID nach einer Verbindung generiert, die nur für die Lebensdauer der Anwendung gültig ist, oder sollen wir es für die spätere Verwendung speichern können? Ich versuche, meine Anwendung an ein bestimmtes Peripheriegerät erinnern zu lassen, aber außer peripheral.UUID kenne ich keine anderen eindeutigen Kennungen.

Antwort

12

Lange Rede, kurzer Sinn, JA, Sie können die UUID verwenden, um sich wieder mit demselben Gerät zu verbinden, selbst nachdem Sie die Anwendung geschlossen haben (genau wie Sie es sagen). Ich habe es mit jeder einzelnen meiner corebluetooth-Apps gemacht und garantiere Ihnen 100%, genau so sollten Sie es tun.

Ich nehme jedoch an, dass Sie nicht mit peripheren verbinden? Das ist ein großes Problem genau dort. Sie müssen die Kopplungsanfrage tatsächlich erstellen und das Peripheriegerät in der Bluetooth-Tabelle anzeigen lassen. Die wird dann mit dem iOS-Gerät verfestigt und bleibt erhalten, bis Sie die Netzwerkeinstellungen des iOS-Geräts leeren. (Dies ist natürlich abhängig von ble chipset .. Während dies für einige der am häufigsten verwendeten Geräte in der Branche gilt, kann es auch ohne es erreicht werden. Zeigen Sie Ihren Chipsatz und ich werde bestätigen, wenn ich weiß, auf die eine oder andere Weise)

Die andere Möglichkeit ist, dass Ihr BLE-Gerät ein Firmwareproblem hat, bei dem Sie sich nach dem Trennen in den Werbemodus oder so etwas zwingen. Dies wird auch mit Ihrer Fähigkeit zur Wiederherstellung der Verbindung zu tun. Lass es mich wissen, wenn du Fragen hast!

+0

Ah, Paarung ist genau das Problem, das ich beheben muss. Mein Hauptproblem ist momentan, dass ich ohne ein komplettes BLE-Modul entwickle, um damit zu arbeiten. Kannst du mir sagen, was passiert, wenn beim Pairing etwas auf der App/iOS Seite gemacht werden muss? Ich habe diese Frage schon einmal gestellt, aber die Antworten waren verschwommen. Ich werde den Chipsatz herausfinden und darauf zurückkommen. Vielen Dank! – loadedion

+0

Die iOS-Seite ist wirklich abhängig vom Chipsatz (auch Firmware) .. also lass uns reden, nachdem du das herausgefunden hast ... willst du keine schlechten Informationen geben –

+1

@TommyDevoy Nur um zu verdeutlichen: Ist das Pairing erledigt, wenn wir zum 'didConnectPeripheral' kommen? Funktion und gehen Sie weiter, um Dienste zu entdecken, oder gibt es ein anderes Verfahren, das befolgt werden muss, um ein Pairing mit einem bestimmten Gerät durchzuführen? – Jobs

Verwandte Themen