启动指南
本指南将向您演示如何使用 BliqPark 框架,该框架帮助您使用 BliqPark 服务。
要求
- iOS 12+
- swift 4
安装
Cocoa Pods
CocoaPod 是 Cocoa 项目的依赖关系管理器。您可以使用以下命令安装它
gem install cocoapods
要使用 CocoaPods 将 BliqPark 集成到您的 Xcode 项目中,在 Podfile 中指定它
platform :ios, '12.0'
use_frameworks!
target '<Your Target Name>' do
pod 'BliqPark'
end
依赖项
以下 Cocoa Pods 是运行 BliqPark 所必需的
- Alamofire
- SwiftyJSON
第一步
要使用BliqPark SDK,请导入包并初始化BliqPark类。
import BliqPark
let bliq = BliqPark(apiKey: <yourAPIKey>)
授权
PLIST
要使用AIPARK,我们需要设备的当前GPS位置。因此,请将以下键添加到info.plist文件中。
键 | 用途 |
---|---|
NSLocationWhenInUseUsageDescription | 说明:为何在应用使用时使用GPS |
NSLocationAlwaysAndWhenInUseUsageDescription | 说明:为何在后台使用GPS |
NSMotionUsageDescription | 说明:为何使用运动传感器(需要检测离开停车位)。 |
功能
您还需要允许后台模式下的位置更新。否则,在框架使用过程中将会出现异常。
请求停车位
要请求停车位,您需要指定一个请求对象。此对象包含您希望从中获取停车位的位置或区域。
以下是一个获取停车位请求的示例。这返回一组给定点的附近停车位。您也可以请求地图瓦片、多边形或给定停车位的集合的信息。有关获取信息的不同方法,请参阅这里。
let bliq = BliqPark(apiKey: <yourAPIKey>)
let point = CLLocationCoordinate2D(latitude: 52.26421778466458, longitude: 10.520997047424316)
let request = NextToPointRequest(value: .init(limit: 30, point: CenterPoint(latitude: point.latitude, longitude: point.longitude)))
bliq.getOnStreetParkingOptions(request: request, mapLayers: [.prediction,.rules]) {
(parkingAreas,Error) in
for entry in parkingAreas ?? [] {
print(entry.streetName)
}
}
问题
启动后SIGABRT
如果您在应用启动后看到类似以下错误信息,说明缺少后台模式的权限。要解决这个问题,请进入XCode中的项目,点击左侧栏中的项目名称。然后切换到功能选项卡,激活“后台模式”,特别是“位置更新”。
*** Assertion failure in -[CLLocationManager setAllowsBackgroundLocationUpdates:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreLocationFramework_Sim/CoreLocation-2245.4.104/Framework/CoreLocation/CLLocationManager.m:652
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: !stayUp || CLClientIsBackgroundable(internal->fClient)'