用途:这是面向 Core Location 实现决策的规范型技能,用于在编写或评审定位代码时做出正确选择,减少授权被拒、耗电和后台定位失效等问题。适用时机包括:选择授权策略(When In Use 与 Always)、决定监控方式(连续更新、显著变化、CLMonitor)、实现地理围栏或后台定位、排查“定位不工作”问题、审查定位代码中的反模式。
主要能力:以反模式形式列出常见错误及其代价,例如首次启动即请求 Always 授权(拒绝率 30-60%,改为先 When In Use 后按需升级可降至 5-10%)、用连续更新实现地理围栏(耗电约 10 倍,应改用 CLMonitor 与 CircularGeographicCondition)、忽略静止检测、未处理授权被拒、精度与场景不匹配(导航需约 5 米,天气可用约 100 米以上)、未在结束时停止更新、忽略 iOS 18+ 的 CLServiceSession 声明式授权。提供授权策略与监控策略决策树,以及按用途选精度的对照,并给出预发布定位清单和后台定位清单(后台模式能力、持有 CLBackgroundActivitySession 而非局部变量、从前台启动、启动时重启更新、重新初始化 CLMonitor)。还说明各 API 的 iOS 版本:CLLocationUpdate 与 CLMonitor 为 iOS 17+,CLBackgroundActivitySession 为 iOS 17+,CLServiceSession 为 iOS 18+,CLLocationManager 为 iOS 2+ 旧方案。地理围栏限制:每个应用最多 20 个条件,半径建议不小于约 100 米,需在启动时重建监控并持续消费事件。
使用方式:作为技能引用,在涉及定位授权、监控、精度、后台与地理围栏决策时调用,配合 axiom-core-location-ref(API 参考与代码示例)、axiom-core-location-diag(按症状排查)和 axiom-energy 使用。具体安装命令与调用方式暂未提供。
适用场景与限制:适用于 iOS 定位相关开发与评审,尤其授权策略、后台定位与地理围栏问题。资料未提供收费、价格、平台或效果承诺信息。