CoreBluetooth XPC连接在关闭视图控制器时无效
当我从蓝牙设备断开连接后,发现它们已在didDisconnectPeripheral委托中断开连接,我试图关闭我的viewcontroller。CoreBluetooth XPC连接在关闭视图控制器时无效
发生这种情况时我看到消息:“[CoreBlueooth] XPC连接无效”
有什么具体具有视图 - 控制被解雇之前清理与蓝牙?
我把CBCentralManager
放到一个singleton中,并且错误信息解决了。
(CBCentralManager
不会被解除分配)
谢谢。这帮助我解决了我的问题。您可以将CBCentralManager作为类变量(在函数外部声明)而不是局部变量。 –
尝试:
CBPeripheral *mConnectedPeripheral;
-(void)viewDidDisappear:(BOOL)animated{
[_centralManager cancelPeripheralConnection:mConnectedPeripheral];
}
我得到以下信息:
[CoreBlueooth] XPC连接无效
我无法扫描BLE设备用一个很简单的执行下列操作:
NSObject<CBCentralManagerDelegate, CBPeripheralDelegate>
对我来说,解决办法是在我Info.plist
为隐私添加值 - 蓝牙外设使用说明NSBluetoothPeripheralUsageDescription
描述我做什么用蓝牙外设。
看起来这在info.plist
:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Play with BLE Compatible devices<string>
写的东西在这里更准确;)
试过..不好运气! –
当发生这种情况时,请尝试**隔离您的问题**,以便确定是什么让它失败。你也可以在这里评论更多细节。有很多开源项目可以扫描设备,甚至可以写入“特性”等。[chenee/DarkBlue](https://github.com/chenee/DarkBlue)对我很有帮助。对于快捷项目:[Pluto-Y/Swift-LightBlue](https://github.com/Pluto-Y/Swift-LightBlue)。在我的情况下,我开始了一个空白的项目,并与我的设备进行通信的最小代码,必须添加'NSBluetoothPeripheralUsageDescription',它的工作 – GabLeRoux
不适合我。 –
这似乎并没有进行相关的视图控制器。每当CBCentralManager被取消分配时,我都会收到此消息。只需用一个局部变量进行测试,例如CBCentralManager(委托:无,队列:无)。范围一结束,该错误消息就会弹出。 – bcause