我的iPad mini(iOS7.1.2)让我的应用程序使用CoreBluetooth充当外围设备。其状态(CBPeripheralManager::state
)为PoweredOn
,添加和开始宣传我的服务时没有任何其他错误。但是,外设周围的任何中央设备都无法连接到它。
我当然认为中央设备可能存在问题。这不是真的,因为那些中央设备可以连接除“那个外围设备”之外的其他外围设备。当我尝试连接外围设备时,调用了- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
。 (错误代码7)。
外围设备未显示任何错误,并且在重新启动外围设备之前,中央设备无法连接。我该怎么办?我应该将设备升级到iOS8吗?
P.S。中央设备种类繁多,从iPhon4s到iPhone6 +,从iOS7.0.6到iOS8.2。除中央设备和外围设备外没有问题。
P.S。它只发生过一次,但是当处于奇怪的状态时,外围状态突然变为Resetting
和PoweredOn
。之后,连接没有问题。我不知道为什么国家突然改为Resetting
,以及状态如何改变。
+添加@ 04081228(GMT + 0000)
我从中央设备发现了一些试图与外围设备连接的腥日志。以下是一些日志。
Apr 8 21:20:57 BTServer [61]:ATT无法在设备“9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3”上找到GATT主要>服务
Apr 8 21:20:57 BTServer [61]:ATT中止命令为设备>“9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3”不再连接
Apr 8 21:21:08 BTServer [61]:ATT未能在设备“9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3”上找到GATT主要>服务
Apr 8 21:21:08 BTServer [61]:作为设备的ATT中止命令>“9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3”不再连接
我发现the comment from github这是iOS的已知问题。但是,我找不到任何其他相关信息。
+添加@ 04081304(GMT + 0000)
我也找到了这个日志。我不确定这意味着什么。
Apr 8 22:02:03 BTServer [61]:ATT无法将MTU设置为158,结果为BM3状态14
Apr 8 22:02:13 BTServer [61]:ATT无法将MTU设置为158,结果为BM3状态14