2014-09-26 1 views
1

을 CLLocationManagerDelegate을 준수하고 내가 그들의 정의 beaconmanager의 구현을 통해 읽기 및 군 수업은 "ESTBeaconManager"(http://estimote.github.io/iOS-SDK/Classes/ESTBeaconManager.html가)을 준수 함을 발견 beaconmanagerdelegate 동안은 아이폰 OS 코딩에 새로운 오전 사과의 핵심 위치 관리자 대리인 인 "CLLocationManagerDelegate".왜 ESTBeaconManager는 지금 estimote의 아이 비콘 태그를 사용하고

그러나 ESTBeaconManager에는 "CLLocationManagerDelegate"메소드가 구현되어 있지 않지만 "ESTBeaconManager"클래스에는 "ESTBeaconManagerDelegate"라는 자체 위임 프로토콜이 있습니다.이 프로토콜에는이 프로토콜과 비슷한 많은 메소드가 있습니다. "CLLocationManagerDelegate"에 선언되어 있으므로 beconmanager가 무언가를 찾거나 변경된 이벤트를 트리거하는 데 사용할 수 있습니다.

그래서 내 질문은 "CLLocationManagerDelegate"를 준수하는 ESTBeaconManager의 요점은 무엇이며이 메커니즘은 시스템이 "CLLocationManagerDelegate"에서 메서드를 트리거한다는 것을 알고 있습니다. 사과. 그러나 "ESTBeaconManagerDelegate"의 사용자 정의 된 메소드는 사용자 정의 된 코드에서 호출하여 트리거해야합니다 (아마도 CLLocationManagerDelegate를 통해 수행 할 수 있습니다).

답변

1

Estimote SDK는 부분적으로 Apple의 핵심 위치 API를 기반으로하여 해당 범위 및 비콘 영역 모니터링 기능을 제공합니다. SDK는 "알 수없는 상태"비컨 (avoidUnknownStateBeacons)을 필터링하거나 여러 지역의 범위 지정 결과를 단일 didRangeBeaconsInRegion 콜백 (returnAllRangedBeaconsAtOnce) 등으로 병합하는 옵션과 같은 몇 가지 추가 기능을 추가합니다. Estimote Cloud, 예. 클라우드에서 추가적인 표지 속성 (예 : color)을 다운로드하십시오.

전체적으로 CLLocationManagerDelegate에 부합하는 ESTBeaconManager은 구현 세부 사항이므로 SDK 사용에 대해 걱정할 필요가 없습니다.

+0

감사합니다. Estimote SDK가 없으면 ibeacon을 사용하지 않으려 고합니다. 나는 iOS 개발에 익숙하지 않고 내 지식에 반하는 것을 발견했다. 따라서 CLLocationManagerDelegate의 메소드가 SDK의 어딘가에서 호출되고, 형태가 ESTBeaconManager에서 전달된다는 것을 의미 하는가? 이후 ESTBeaconManager 만 해당 프로토콜을 준수하는 것처럼 보입니다. –

+0

정확히 - 우리는 내부적으로 CLLocationManagerDelegate를 처리하고, 추가 작업을 수행하고 결과를 ESTBeaconManagerDelegate 메소드로 전달합니다. – heypiotr

관련 문제