當我從藍牙設備斷開連接後,發現它們已在didDisconnectPeripheral委託中斷開連接,我試圖關閉我的viewcontroller。CoreBluetooth XPC連接在關閉視圖控制器時無效
發生這種情況時我看到消息:「[CoreBlueooth] 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