1

我现在正在使用 estimote 的 ibeacon 标签,而且我是 iOS 编码的新手,同时我阅读了他们定制的 beaconmanager 和 beaconmanagerdelegate 类的实现。我发​​现“ESTBeaconManager”(http://estimote.github.io/iOS- SDK/Classes/ESTBeaconManager.html)符合“CLLocationManagerDelegate”,这是苹果的核心位置管理器委托。

但是,ESTBeaconManager 没有实现任何“CLLocationManagerDelegate”方法,而“ESTBeaconManager”类有自己的委托协议,称为“ESTBeaconManagerDelegate”,在这些协议中,许多与 中类似的方法在“ CLLocationManagerDelegate”,我们可以使用它们在 beconmanager 发现某些东西或被查询时触发一些事件。

所以,我的问题是,ESTBeaconManager 符合“CLLocationManagerDelegate”的意义何在,以及这之下的机制是什么,我们知道系统将触发“CLLocationManagerDelegate”中的方法,因为它们是由苹果制造的。但是“ESTBeaconManagerDelegate”中的自定义方法必须通过在自定义代码中调用它们来触发(可能通过CLLocationManagerDelegate,对吗?)。

4

1 回答 1

1

Estimote SDK 部分基于 Apple 的核心位置 API,以支持其测距和信标区域监控功能。SDK 在此基础上构建以添加一些附加功能,例如过滤“未知状态”信标 ( avoidUnknownStateBeacons) 或将来自多个区域的测距结果合并到单个didRangeBeaconsInRegion回调 ( returnAllRangedBeaconsAtOnce) 等的选项。它还添加了与 Estimote Cloud 的集成,例如,color从云端下载额外的信标属性(如)。

总而言之,ESTBeaconManager符合CLLocationManagerDelegate是一个实现细节,您无需担心它即可使用 SDK。

于 2014-09-27T19:06:34.190 回答