ios - 为什么 ESTBeaconManager 符合 CLLocationManagerDelegate

标签 ios objective-c ibeacon estimote

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

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

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

最佳答案

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

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

关于ios - 为什么 ESTBeaconManager 符合 CLLocationManagerDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26066896/

相关文章:

iphone - 选择多个图像的问题

ios - 按钮事件 iOS

ios - 方法确实在父 View Controller 中调用,但方法内部的逻辑从不执行任何操作

ios - 一个应用程序可以使用 startMonitoringForRegion 注册多少个 UUID?

swift - 无法读取 iOS 10 中检测到的信标信息

ios - 无法将类型 '__NSCFData' 的值转换为 'NSDate'

ios - 以前删除的约束在 Xcode 9.4 中显示为冲突

ios - 如何检查用户是否允许使用相机?

objective-c - NSMutableDictionary 不写入文件

android - 检查 Bluetooth Low Energy Beacons 是否在 Android 附近