2017-05-09 19 views
7

私がBluetoothデバイスからの接続を切断した後、didDisconnectPeripheralデリゲートで接続が切断されていることを確認した後、私はviewcontrollerを終了しようとします。 「無効な[CoreBlueooth] XPC接続」CoreBluetooth XPC接続が無効になっているときに表示コントローラ

のViewControllerが却下される前に、ブルートゥースを使用してクリーンアップする必要があり、特定の中に何かがあります:これは私がメッセージを参照してください起こる

+1

これは、ビューコントローラに関連していないようです。 CBCentralManagerの割り当てが解除されるたびにこのメッセージが表示されます。ローカル変数(例: CBCentralManager(デリゲート:nil、キュー:nil)スコープが終了すると、そのエラーメッセージがポップアップします。 – bcause

答えて

1

CBCentralManagerをシングルトンに配置し、エラーメッセージを解決しました。

CBCentralManagerが割り当て解除されません)

+0

ありがとうございます。これは私の問題を解決するのに役立ちました。 CBCentralManagerは、ローカル変数ではなく、クラス変数として宣言することができます(関数外で宣言します)。 –

0

この試してみてください。

[CoreBlueooth] XPC接続無効

:私は次のメッセージを得ていた

CBPeripheral *mConnectedPeripheral; 

-(void)viewDidDisappear:(BOOL)animated{ 
    [_centralManager cancelPeripheralConnection:mConnectedPeripheral]; 
} 
4

を私はBLEデバイスをスキャンすることができませんでした以下の非常にシンプルな実装を使用して:

NSObject<CBCentralManagerDelegate, CBPeripheralDelegate> 

私のためのソリューションは、プライバシーのための私のInfo.plistに値を追加することでした - のBluetooth周辺機器利用状況の説明はNSBluetoothPeripheralUsageDescription私は、Bluetooth周辺で何をするか記述する。

info.plistで次のようになります。

<key>NSBluetoothPeripheralUsageDescription</key> 
<string>Play with BLE Compatible devices<string> 

はここで、より正確な何かを書く;)

+1

を試してみました。 –

+0

そのようなことが起きたときは、問題を特定して問題を特定することができます。詳細については、ここでコメントすることもできます。そこには、デバイスをスキャンし、 'characteristics'などに書き込むこともできるオープンソースプロジェクトがたくさんあります。[chenee/DarkBlue](https://github.com/chenee/DarkBlue)は私には役に立ちました。迅速なプロジェクト:[Pluto-Y/Swift-LightBlue](https://github.com/Pluto-Y/Swift-LightBlue)。私の場合、私は空のプロジェクトを開始し、デバイスと通信するための最小限のコードを実行し、 'NSBluetoothPeripheralUsageDescription'を追加しなければなりませんでした。それは – GabLeRoux

+0

が機能しませんでした。 –

関連する問題