用途:该技能用于在 Swift/SwiftUI 项目中编写正确、现代的 CoreLocation 代码。CoreLocation 提供地理坐标、海拔、方向及 iBeacon 邻近度等服务,依赖 Wi-Fi、GPS、蓝牙、磁力计、气压计和蜂窝硬件。
主要能力:涵盖实时位置更新与 async/await 模式、授权与权限流程、区域监控与 CLMonitor、地理编码(地址与坐标互转)、iBeacon 与指南针、后台定位、CLLocationManager API 参考。iOS 17+ 推荐使用异步 API 替代传统 delegate 方式。
使用方式:通过 CLLocationUpdate.liveUpdates() 获取实时更新,可指定 .default、.automotiveNavigation、.fitness 等活动类型;授权需在 Info.plist 配置 NSLocationWhenInUseUsageDescription 等键,并调用 requestWhenInUseAuthorization() 或 requestAlwaysAuthorization();区域监控使用 CLMonitor 添加 CircularGeographicCondition 并监听事件;地理编码使用 CLGeocoder 的 reverseGeocodeLocation 与 geocodeAddressString。
适用场景:导航、健身追踪、签到与旅行记录、地理围栏、地址解析等。
限制:需注意 horizontalAccuracy 为负表示坐标无效;地理编码请求有速率限制,应缓存结果;后台更新需开启 Location updates 后台模式并设置 allowsBackgroundLocationUpdates = true;visionOS 定位服务受限且不支持后台更新;系统可能自动暂停位置更新。资料未提供收费、价格或平台支持范围等更多信息。