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.
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%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:)
Tags und Links ios ios8 core-bluetooth btle