Я работаю на технологии Bluetooth: монитор сердечного ритма, и я последовал код из https://www.raywenderlich.com/52080/introduction-core-bluetooth-building-heart-rate-monitorЯдро Bluetooth не будет восстанавливать, когда вернется, чтобы посмотреть контроллер
я теперь приложение работает великолепно. В этом же приложении у меня есть несколько других контроллеров представлений, которые делают некоторые другие вещи, такие как страница входа и простая страница «О нас». Проблема в том, что, возвращаясь к контроллеру представления, содержащему фактический монитор сердечного ритма, монитор сидит в 0 и не будет обновлять значения.
У меня есть восстановит код и делегатов на месте:
-(void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)state {
NSLog(@"willRestoreState called");
self.polarH7HRMPeripheral = [state[CBCentralManagerRestoredStatePeripheralsKey] firstItem];
self.polarH7HRMPeripheral.delegate = self;
}
центральный менеджер объявлен следующим образом:
CBCentralManager *centralManager =[[CBCentralManager alloc] initWithDelegate:self queue:nil options:@{ CBCentralManagerOptionRestoreIdentifierKey:@"myCentralManagerIdentifier" }];
Когда возвращается к контроллеру представления, я заметил, что willRestoreState
не является называемый.
Я потерян относительно того, где искать дальше. Может ли кто-нибудь помочь? Заранее спасибо.
Вы не должны держать свой объект Bluetooth в контроллере представления. Держите его в другом классе, который не освобождается – Paulw11