2014-04-10 7 views
0

iOS CoreBluetooth에 메커니즘이있어 발견 된 (연결되지 않은) 주변 장치가 "손실"되었거나 광고 대상이 아닌 주변 장치가 더 이상 광고하지 않을 때 이벤트가 트리거됩니다.ios CBCentralManager DidDiscoverPeripheral

답변

1

당신은 CBCentralManagerscanForPeripheralsWithServices:에 옵션에서 CBCentralManagerScanOptionAllowDuplicatesKey:YES를 지정하고 관찰 장치의 테이블을 유지, 정기적으로 항목을 노화, 그러나 이것은 배터리 수명에 영향을 미칠 것이며, 당신은 당신의 응용 프로그램이 어떤을 일단 작동하지 할 수 없습니다 수 포 그라운드에서 더 길다. 연결하는 것이 더 좋습니다 - 장치에 연결하고 싶지 않은 이유가 있습니까?

+0

정확히 [예 : [BLE utility app] (https://itunes.apple.com/us/app/ble-utility/id606210918?mt=8)과 동일합니다. 더 나은 해결책은 없습니다. – allprog

1

오픈 소스 프로젝트 인 AltBeacon을 보면 https://github.com/CharruaLabs/AltBeacon의 방법을 알 수 있습니다. AltBeacon.m 클래스의 reportDelegates 메소드를 확인하십시오.

좀 더 자세하게 설명합니다. 미리 정해진 간격으로보고를 유지 한 다음 장치의 신호 (RSSI)를 오래되게하려면 어떻게해야할까요? 너무 오래되면 더 이상 광고 콜백을 실행할 수 없습니다. 우리가하는 일은 열거 형 상태 거리를 알 수 없음으로 변경하는 것입니다.

관련 문제