CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:nil];
_centralManager = centralManager;
這里有一個注意點恬惯,CBCentralManager 的創(chuàng)建是異步的止剖,如果初始化完成之后沒有被當(dāng)前創(chuàng)建它的類所持有,就會在下一次 RunLoop 迭代的時候釋放策菜。當(dāng)然 CBCentralManager 實例如果不是在 ViewController 中創(chuàng)建的额各,那么持有 CBCentralManager 的這個類在初始化之后也必須被 ViewController 持有国觉,否則控制臺會有如下的錯誤輸出:
[CoreBluetooth] XPC connection invalid
按照我自己的理解來說就是,如果_centralManager是局部變量虾啦,就會出現(xiàn)[CoreBluetooth] XPC connection invalid這樣的錯誤提示麻诀。
如果在xocde真機(jī)調(diào)試中只是按下方停止按鈕,并沒有在手機(jī)上結(jié)束任務(wù)進(jìn)程傲醉,然后又按run繼續(xù)運行蝇闭,那么很容易就出現(xiàn)[CoreBluetooth] XPC connection invalid這樣的提示
注:這些都是開發(fā)時查找到的資料和自己的一些總結(jié),如果看到到相關(guān)資料或者繼續(xù)有其他的總結(jié)硬毕,也會繼續(xù)更新呻引。