2017-04-21 9 views
0

배경에서 BLE 장치를 검색하려고하지만 내 didDiscoverPeripheral 메서드가 호출되지 않습니다. 나는 5 분을 기다렸고 아무 일도 없었지만 "라이트 블루"와 같은 다른 블루투스 앱을 열면 내 didDiscoverPeripheral이 즉시 호출됩니다. 이것은 매번 발생합니다. LightBlue를 실행하지 않고 어떻게이 작업을 할 수 있습니까? didDiscoverPeripheral은 연한 파랑을 실행 한 후, 백그라운드에서 작동하기 때문에, central.scanForPeripherals(withServices: [cbuuid], options: nil)CoreBluetooth - 배경 모드의 didDiscoverPeripheral이 LightBlue없이 호출되지 않음

프로젝트가 올바른 배경 설정이 있습니다

다음은 스캔 내 코드입니다.

답변

0

어디에 문제가 있는지 파악했습니다.

블루투스 기기에는 두 가지 유형의 광고가 있습니다. 하나는 서비스가 제공되지 않는 광고입니다. 백그라운드 iOS에서는 서비스 제공없이 광고를 건너 뜁니다. 나는 장치 내의 모든 광고 패킷을 uuid 서비스로 변경했으며 모든 것이 이제 작동 중입니다.