2016-10-07 1 views
0

Ich schreibe eine App, die in der Lage sein soll, eine Verbindung zu einem Ble-Gerät herzustellen und ein Update für eines der Merkmale zu erhalten.iOS CoreBluetooth kann keine Benachrichtigungen im Hintergrund empfangen

Ich bin in der Lage das Gerät Ich möchte zu entdecken in ihm, und registrieren Sie sich für Benachrichtigungen auf dem Merkmal Ich interessiere mich um eine Verbindung zu verbinden.

Jedes Mal, wenn die App ein Update für dieses Merkmal erhält sie schicken der Wert für einen Server über einen http-Aufruf.

Alles funktioniert gut im Vordergrund, aber sobald ich meine App Hintergrund, hört es auf, die Updates zu erhalten. Ich fügte hinzu

<key>UIBackgroundModes</key> 
<array> 
    <string>bluetooth-central</string> 
    <string>bluetooth-peripheral</string> 
</array> 

zu meiner PLIST-Datei. Ich teste auf einem iPhone6 ​​und mit iOS 9.3. Entwickeln mit Xcode 8 und swift 2.3. Benachrichtigungen werden alle 10 Sekunden vom Ble-Gerät gesendet, aber die App verarbeitet die Benachrichtigungen im bakground nicht.

Antwort

2

ich das Problem gefunden hinzugefügt haben.

Ich habe das Objekt instanziiert, das sich um das Scannen, Verbinden, Lesen usw. in meinem AppDelegate kümmert. Sobald ich es zu einem ViewController bewegte, funktionierte es im Hintergrund gut. Nicht sicher warum.

0

Sie müssen Fähigkeiten für Bluetooth in Project/Fähigkeiten Erforderliche Hintergrund-Modus hinzufügen Da Sie den blauen Zahn während Vordergrund zu verwenden, sind in der Lage, ich glaube, Sie notwendigen Berechtigungen

Verwandte Themen