iOS - CoreBluetooth didDiscoverPeripheral não está sendo chamado
Fiz uma aplicação iOS muito simples no Xcode 6 para experimentar o CoreBluetooth e comunicar com o meu monitor de frequência cardíaca Polar H6. Por alguma razão, o método didDiscoverPeripheral não está sendo chamado.
Encontrei as seguintes perguntas semelhantes no StackOverflow, mas as suas são um pouco diferentes ou realmente não respondem a mim:
corebluetooth-diddescobrirperiférico-não-ser-chamado-in-swiftchamada-não-trabalhando-para-gerente-localdescobriu-dados-de-anúncio-periféricosdiddiscoverperipheral-delegate-method-is-not-calledMeu código em viewDidLoad:
NSArray *services = @[[CBUUID UUIDWithString:HRM_HEART_RATE_SERVICE_UUID]];
CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
[centralManager scanForPeripheralsWithServices:services options:nil];
self.centralManager = centralManager;
MétodocentralManagerDidUpdateState
está sendo chamado e me diz que o estado é igual aCBCentralManagerStatePoweredOn
. odidDiscoverPeripheral
O método nunca é chamado, nem mesmo quando passonil
noscanForPeripheralsWithServices
método.
Na loja de aplicativos, baixei um aplicativo chamado LightBlue. É um aplicativo muito simples para testar qualquer dispositivo que use Bluetooth 4.0 LowEnergy. Ele procura periféricos e mostra informações detalhadas sobre os dispositivos e seus serviços. O aplicativo LightBlue vê meu monitor HeartRate, enquanto o meu pequeno aplicativo não.
Alguém tem alguma dica ou dica de como avançar com isso?
(Estou usando o Xcode 6 e iPhone 6 com iOS 8)