Ich habe Probleme herauszufinden, wie Bluetooth LE-Peripheriegerätewerbung empfangen wird, während meine App im Hintergrund ausgeführt wird. Das heißt, wenn meine App im Hintergrund ist, erreicht sie niemals die didDiscoverPeripheral() -Methode - wo die Werbung liegt. Weiß jemand, wie ich meine App so konfigurieren muss, dass ich Bluetooth LE-Werbung bekommen kann, während meine App in der App ist Hintergrund? Kann dies mit einer Thread-Abfrage geschehen, während meine App im Hintergrund ist? Hinweis: Ich möchte Werbung von allen BLE-Geräten erhalten, nicht eine definierte Anzahl von BLE-Geräten.Verwenden von Core Bluetooth zum Abrufen von Bluetooth LE-Peripherieanzeigen im Hintergrund
Schätzen Sie die Hilfe,
Casey
Ich schätze Ihre Hilfe. Ich werde das ausprobieren, sobald ich nach Hause komme und Sie wissen lassen, ob es funktioniert. Um sicherzustellen, dass Sie verstehen, erreicht Ihre App die Methode didDiscoverPeripheral() korrekt? Im Gegenzug ermöglicht es Ihrer App, die Peripherals-Werbung zu analysieren. – CaseyG
Hmm, ich habe es immer noch nicht geschafft, es zum Laufen zu bringen. Ich habe mein Werbungsintervall auf 20ms umgestellt, wie Sie es angemerkt haben. Ich denke, mein Problem könnte sein, dass ich einen uneingeschränkten Scan verwende (zB: scanForPeripherals: nil options: options) und keinen eingeschränkten Scan. iOS kann uneingeschränkte Scans abbrechen, wenn Ihre App in den Hintergrund tritt, die jemand [hier] angegeben hat (http://stackoverflow.com/questions/9896562/what-exactly-can-bluetooth-applications-do-whilst-in-the-background) . Verwenden Sie einen uneingeschränkten Scan oder eingeschränkt? Ich möchte eine uneingeschränkte für meine App verwenden - wenn es möglich ist. Danke für Ihre Hilfe. – CaseyG
Ok, ich habe es funktioniert. Sie müssen einen eingeschränkten Scan verwenden, und Sie müssen Ihr Intervall um 20ms einstellen, wie Henrik erwähnt. Vielen Dank. – CaseyG