我在iPhone 5S上使用蓝牙LE,我做了以下工作:
>我有一个蓝牙外设,我配置它在所有三个蓝牙广告频道(37,38和39)上宣布每20秒.
>我已经配置了我的应用程序与UIBacgroundModes =蓝牙中央在Info.plist
>我已经启动了一个scanForPeripheralsWithServices,如下所示
码:
NSDictionary *options = @{ CBCentralManagerOptionRestoreIdentifierKey:@"myCentralManagerIdentifier",CBCentralManagerScanOptionAllowDuplicatesKey:[NSNumber numberWithBool:YES] }; self.manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:options]; [self.manager scanForPeripheralsWithServices:[NSArray arrayWithObject:[CBUUID UUIDWithString:@"<uuid removed>"]] options:options];
目前的状态是:
>在前台模式下,当我启动外围设备时(一秒钟内),应用程序会迅速收到广告消息
>在后台模式下,应用程序有时会在启动外设后10秒钟内收到广告消息(即使是不好的话也可以接受),但是经常会在很长的时间(分钟或更长时间)内收到广告,不适用于应用程序.
问题是:
当扫描应用程序处于背景状态时,是否可以以某种方式提高iOS在蓝牙4.0 LE外设中扫描的速度?由于我不认为有公共API来执行此操作,因此我正在寻找一个未由Apple发布的私有API.这是一个内部企业应用程序,所以私有API将是完全正常的.