Perché ottengo CBCentralManagerStateUnknown
su un iPad 2 quando utilizzo questo semplice codice?Cosa causa CBCentralManagerStateSnknown in iOS?
- (BOOL)viewDidLoad {
bluetoothManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
if ([manager state] == CBCentralManagerStatePoweredOff) NSLog(@"CBCentralManagerStatePoweredOff");
if ([manager state] == CBCentralManagerStatePoweredOn) NSLog(@"CBCentralManagerStatePoweredOn");
if ([manager state] == CBCentralManagerStateResetting) NSLog(@"CBCentralManagerStateResetting");
if ([manager state] == CBCentralManagerStateUnauthorized) NSLog(@"CBCentralManagerStateUnauthorized");
if ([manager state] == CBCentralManagerStateUnknown) NSLog(@"CBCentralManagerStateUnknown");
if ([manager state] == CBCentralManagerStateUnsupported) NSLog(@"CBCentralManagerStateUnsupported");
}
Non riesco a capire che cosa significa CBCentralManagerStateUnknown
. Cosa faccio? Il Apple docs basta dire:
Stato ignoto, aggiornamento imminente.
Ottengo questa risposta con un dispositivo Bluetooth collegato, e anche quando Bluetooth è spento. Se provo a eseguire qualcosa di simile [manager retrieveConnectedPeripherals]
, ho anche ottenere questo messaggio nella console:
CoreBluetooth[WARNING] <CBConcreteCentralManager: ...> is not powered on
Significa che lo stato è sconosciuto. In questo caso, probabilmente perché l'hardware Bluetooth non è ancora stato avviato. Qual è il problema? –
Non riesco ad arrivare allo stato 'CBCentralManagerStatePoweredOn' in modo che possa fare qualsiasi cosa. Cosa devo fare per arrivare a quello stato? – woz
Sono un po 'confuso. Hai detto che "ottengo questa risposta con un dispositivo Bluetooth collegato", ma hai anche indicato che non puoi fare nulla. Come hai il dispositivo connesso in primo luogo, quindi? – yuklai