2

在升级到 iOS6 之前,一切正常,但现在当我运行

[centralManager cancelPeripheralConnection:peripheral];

回调被触发

-(void) centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral     *)peripheral error:(NSError *)error{
NSLog(@"Disconnected");
NSLog(@"Error: %@", [error localizedDescription]);
}

和控制台输出

Disconnected
Error: (null)

尽管如此,直到我在设置中打开蓝牙或打开手机(我在外围设备上处于连接状态)之前,外围设备都不会断开连接。有没有其他人发现这个 iOS6 特定的问题?

4

1 回答 1

1

我相信这是 iOS6 的一个特性(如果你愿意这样称呼它)。

这只是一种不中断可能使用该连接的其他应用程序的方法(或者它可能处于配对过程的中间)。最多可能需要 45 秒才能断开连接。

如果可能,最好的解决方案可能是触发与外围设备的断开连接,然后断开连接会立即发生。

http://lists.apple.com/archives/bluetooth-dev/2012/Sep/msg00090.html

于 2012-11-15T23:53:54.797 回答