我正在iPhone 5S上使用Bluetooth LE,并且已完成以下操作:
代码:
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];
当前状态为:
问题是:
在扫描应用程序处于后台时,是否可以某种方式提高扫描iOS的蓝牙4.0 LE外设的速率?由于我认为没有公共(public)API可以执行此操作,因此我正在寻找Apple尚未发布的私有(private)API。这是针对内部企业应用程序的,因此完全可以使用私有(private)API。
最佳答案
后台模式在扫描时的工作方式有所不同。
也许,您可以通过在后台发送连接请求而不是扫描来解决问题。这样,iOS知道您对特定的外围设备真的很感兴趣,并且我可以想象这会影响发现时间。
根据您的目标,一种不同的方法可能是通过将iPhone置于外围模式并在中央模式下使用当前的LE外围设备来反转连接。似乎有点骇人听闻,但如果它能解决您所遇到的问题:为什么不:)
关于私有(private)API:抱歉,我不知道会影响扫描参数的API。
关于ios - 蓝牙LE,scanForPeripheralsWithServices在后台,提高速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19471798/