用途:为 iOS 17+ 现代 Core Location 提供 API 签名与用法参考,用于实现定位更新、地理围栏/区域监控、后台定位、授权处理与定位问题排查。
主要能力:介绍四个替代旧 CLLocationManager 模式的类——CLLocationUpdate(异步定位更新,支持 .default、.fitness 等 LiveConfiguration 与自动暂停/恢复)、CLMonitor(基于条件的围栏与信标监控,支持 CircularGeographicCondition 与 BeaconIdentityCondition)、CLServiceSession(iOS 18+ 声明式授权目标,含全精度用途键与诊断)、CLBackgroundActivitySession(后台定位)。另含授权状态机、Info.plist 键、旧版 CLLocationManager、精度常量、区域监控、重要位置变化、访问监控、地理编码、测试模拟与 Swift 并发集成。
必要用法:用 CLLocationUpdate.liveUpdates() 在 Task 中 for try await 迭代;用 await CLMonitor("名称") 创建监控并 await monitor.events 处理 .satisfied/.unsatisfied 状态;用 CLServiceSession(authorization: .whenInUse) 声明授权;后台用 CLBackgroundActivitySession 并持引用。
限制:CLMonitor 每应用最多 20 个条件,围栏有效半径约 100m,退出事件可能延迟 3-5 分钟;CLServiceSession 仅 iOS 18+;进入/退出精度受蜂窝、WiFi、GPS 影响。价格、平台要求等暂未提供。