适用于 iOS 的 PWLocation SDK
这是 Phunware 用于其多屏即服务平台的定位 SDK。它为场所提供室内/室外定位功能。访问 http://maas.phunware.com 获取更多详情并注册。
要求
- PWCore 3.12.x
- iOS 13.0 或更高版本
- Xcode 13.0 或更高版本
安装
CocoaPods
需要使用 1.10 或更高版本的 CocoaPods 来集成框架。只需在 Podfile 中添加以下内容
pod 'PWLocation'
文档
文档作为 HTML 和 .docset 格式包含在代码库的“文档”文件夹中。您也可以在这里找到最新文档:http://phunware.github.io/maas-location-ios-sdk
集成
的设计是作为 PWMapKit 的依赖项使用,但也可作为独立 SDK 使用。
PWCore
要在 PWLocation 中使用任何位置提供者,需要进行 PWCore 配置。在 MaaS 门户网站中,获取您的应用程序标识符、签名密钥、访问密钥以及加密密钥(如果有的话)。在您的应用程序代理中,添加以下内容
PWCore.setApplicationID("APPLICATION_ID",
accessKey: "ACCESS_KEY",
signatureKey: "SIGNATURE_KEY")
位置权限
为了 PWLocationManager 能正常工作,需要 "当使用时" 或 "始终" 的位置授权。请遵循 Apple 的最佳实践请求位置权限:[Apple 的最佳实践](https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services)。如果没有提供位置授权,不要尝试使用 PWLocationManager,因为这可能导致意外行为。
PWManagedLocationManager
PWManagedLocationManager
是一个类,它从其他位置提供者接收位置更新,并使用算法在将其返回给消费者之前提高该位置的正确性。
PWManagedLocationManager
依赖于由MaaS服务器创建的构建包。设在MaaS门户中的建筑配置,建筑标识符将在那些门户配置页上找到。
要创建一个PWManagedLocationManager
,调用其initWithBuildingId:
函数,并传入所需的建筑标识符。最后,在PWManagedLocationManager
对象上调用startUpdatingLocation
。管理者将获取和解析所需的服务器包,并尽快开始提供位置更新。
// Initialize the manager
let manager = PWManagedLocationManager(buildingId: <BUILDING_IDENTIFIER>)
manager.delegate = self
// Start fetching location updates
manager.startUpdatingLocation()
位置更新
位置更新通过代理返回。更新事件与CLLocationManagerDelegate
事件非常相似。
func locationManager(_ manager: PWLocationManager!, didUpdateTo location: PWLocationProtocol!) {
// Handle update
}
func locationManager(_ manager: PWLocationManager!, failedWithError error: Error!) {
// Handle failure
}
隐私
您理解并同意Phunware位于www.phunware.com/privacy的隐私策略。如果您使用Phunware的软件需要自己的隐私策略,您还同意在其隐私策略中包含Phunware的隐私策略条款供您的最终用户。
条款
使用此软件需要审查和接受位于http://www.phunware.com/terms的开发者条款和条件。