将CBCentralManager,CBService委托方法在iOS6中以后台模式调用

时间:2013-08-03 05:17:06

标签: ios ios6 cbcentralmanager

我正在使用Apple核心蓝牙示例。外围设备在一台iphone设备中运行。我在一台设备上运行cbcentral客户端应用程序。当两个应用程序处于前台状态时配对都很好。我需要的是当我运行客户端时在后台的cbcentral客户端,没有调用委托方法,其中我提到了本地通知。通知不是以后台模式进入的。     我可以像运行NSUrlConnection一样使用NSOperation来运行蓝牙委托方法吗?它会在最新的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 个答案:

答案 0 :(得分:1)

我相信您所寻找的是核心蓝牙UIBackgroundModes here

另外,您可能需要查看Core Bluetooth and backgrounding: Detection of a device and triggering an action, even after being days in background mode? What exactly can CoreBluetooth applications do whilst in the background?

核心蓝牙背景模式适用于iOS 5或更高版本。