iOS8 und BTLE | CBCentralManager kann keine Peripheriegeräte finden

8

Ich habe eine iOS-App, die mit einem BTLE eine Verbindung zu einem Gerät (arduino) herstellt. Auf meinem iPad iOS 7 funktioniert alles. Nach dem Upgrade auf iOS 8 findet der CBCentralManager keine Peripheriegeräte mehr.

%Vor%

Ich weiß nicht, was das Problem sein kann.

    
user1561249 19.08.2014, 17:19
quelle

2 Antworten

15

Ich habe die Lösung, aus irgendeinem Grund in iOS 8 gibt es eine gewisse Verzögerung, nachdem Sie Ihren CBManager instanziiert haben. Sie müssen mit dem Scannen beginnen, wenn der CBCentralManager eingeschaltet ist:

%Vor%     
Pablo Martinez 08.09.2014, 20:45
quelle
0

In IOS 7 konnten Sie durch einen BLE-Scan entkommen, noch bevor der CBCentralManager bereit war. In solchen Fällen spuckte IOS 7 eine Warnung aus -

CoreBluetooth [API MISUSE] kann Befehle nur im eingeschalteten Zustand akzeptieren

Mit IOS8 - die Warnung wird nicht mehr angezeigt und der Scan startet nicht. Warten Sie, bis das CBCentral eingeschaltet ist, dh warten Sie, bis der CBCentral-Manager den Status "CBCentralManagerStatePoweredOn" erreicht hat, und starten Sie dann den Scan. Es funktioniert gut mit dieser Änderung:)

    
user1813603 16.10.2014 23:09
quelle

Tags und Links