2017-05-09 8 views
7

didDisconnectPeripheral 대리인에서 연결이 끊어져있는 것을 확인하고 내 viewcontroller를 닫으려고합니다. "잘못된 [CoreBlueooth] XPC 연결"CoreBluetooth XPC 연결이 viewcontroller를 닫을 때 올바르지 않습니다.

의 ViewController를 해제하기 전에 블루투스를 정리하는 특정 뭔가가 있나요이 내가 메시지를 볼 일이

?

+1

이 뷰 컨트롤러에 관련이있을 것 같지 않습니다. CBCentralManager가 할당 해제 될 때마다이 메시지가 나타납니다. 로컬 변수로 테스트하기 만하면됩니다. CBCentralManager (델리게이트 : nil, 큐 : nil). 범위가 끝나자 마자 그 오류 메시지가 나타납니다. – bcause

답변

1

을 싱글 톤에 배치하고 오류 메시지가 해결되었습니다.

+0

감사합니다. 이것은 내 문제를 해결하는 데 도움이되었습니다. 로컬 변수 대신 CBCentralManager를 클래스 변수로 만들 수 있습니다 (함수 외부에서 선언). –

0

이 시도 (CBCentralManager가 해제되지 않습니다) :

CBPeripheral *mConnectedPeripheral; 

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

나는 다음과 같은 메시지를 받았 었죠 :

[CoreBlueooth] 잘못된 XPC 연결

을 BLE 장치를 검사 할 수 없었습니다. 다음의 아주 간단한 구현을 사용하여 :

NSObject<CBCentralManagerDelegate, CBPeripheralDelegate> 

나를 위해이 솔루션은 내 Info.plist에 대한 개인 정보 취급 방침 및 청소년 보호 정책 값을 추가하는 것이 었습니다 - 블루투스 주변 사용법 설명NSBluetoothPeripheralUsageDescription 내가 블루투스 주변에 무슨 설명.

info.plist에서 다음과 같습니다 : 여기에서보다 정확한

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

쓰기 뭔가)

+1

시도 .. 아니 행운을! –

+0

그러한 일이 발생하면 ** 문제를 격리하여 ** 실패하게 만드는 원인을 식별 할 수 있습니다. 자세한 내용과 함께 여기에 의견을 제시 할 수도 있습니다. 장치를 검색하고 '특성'등을 쓸 수있는 오픈 소스 프로젝트가 많이 있습니다. [chenee/DarkBlue] (https://github.com/chenee/DarkBlue)가 도움이되었습니다. 신속한 프로젝트 : [Pluto-Y/Swift-LightBlue] (https://github.com/Pluto-Y/Swift-LightBlue). 제 경우에는 빈 프로젝트를 시작했고 장치와 통신하기위한 최소한의 코드를 작성하고 NSBluetoothPeripheralUsageDescription을 추가해야했고 – GabLeRoux

+0

이 작동하지 않았습니다. –