Будут ли CBCentralManager, методы делегата CBService вызываться в фоновом режиме в iOS6
Я использую Apple Core пример Bluetooth. Периферийное устройство работает на переднем плане в одном устройстве iphone. Я запускаю клиентское приложение cbcentral на одном устройстве. Оно хорошо работает, когда оба приложения в переднем плане. Мне нужно, когда я запускаю клиентский клиент cbcentral в фон, что методы делегата не вызываются, в которых я упомянул локальное уведомление. уведомление не приходит в фоновом режиме. Могу ли я использовать NSOperation для запуска методов делегата Bluetooth, как мы делаем NSUrlConnection? Будет ли это работать в последней версии iOS? Я проверил это, но это не работает.
Код:
-(void) peripheral:(CBPeripheral *)aPeripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
..............
...............
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = [itemDate dateByAddingTimeInterval:-(minutesBefore*60)];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = @"hi";
localNotif.alertAction = NSLocalizedString(@"View Details", nil);
localNotif.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
..............
}
1 ответ
Я считаю, что вы ищете, это ядро Bluetooth UIBackgroundModes
здесь
Кроме того, вы можете захотеть взглянуть на Core Bluetooth и фоновый режим: обнаружение устройства и запуск действия даже после нескольких дней в фоновом режиме? и что именно могут делать приложения CoreBluetooth в фоновом режиме?
Основные фоновые режимы Bluetooth работают в iOS 5 или более поздней версии.