测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | 自定义 |
发布最后发布 | 2017年2月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Lutfi 维护。
依赖 | |
Siesta | >= 0 |
XCGLogger | >= 0 |
KatsanaSDK 是一个框架,用于通过 iOS/macOS 应用程序访问 Katsana 平台的数据。
KatsanaSDK 通过 Cocoapods 提供。
在每个源文件中导入 KatsanaSDK
import KatsanaSDK
在您的 AppDelegate 中
application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]? = nil)
配置 KatsanaAPI 并使用客户端 ID、客户端密钥和授权类型
KatsanaAPI.configure(clientId: CLIENT_ID, clientSecret: CLIENT_SECRET, grantType: GRANT_TYPE)
然后,您可以使用凭证登录
KatsanaAPI.shared.login(email: EMAIL, password: PASSWORD, completion: { user in
//Handle user login success
}) { error in
//Login error
}
Vehicle
类包含车辆信息,例如车辆 ID、今日最高速度、图片 URL 和当前车辆位置。
要加载所有车辆的详细信息,使用
KatsanaAPI.shared.requestAllVehicles(completion: { (vehicles) in
//Vehicles loaded
})
要加载单个车辆
KatsanaAPI.shared.requestVehicle(vehicleId: "78", completion: { (vehicle) in
//Vehicle loaded
})
您还可以使用
KatsanaAPI.shared.vehicleWith(vehicleId: "78")
这将返回如果已从服务器请求,则包含车辆 ID 的车辆。
VehicleLocation
类包含车辆的定位数据,包括坐标、速度和设备电压。
您可以从 Vehicle
类中获取车辆位置
let location = vehicle.current
或请求最新的车辆位置
KatsanaAPI.shared.requestVehicleLocation(vehicleId: "78", completion: { (vehicleLocation) in
//Success
})
Travel
类包含特定车辆的行程历史记录。每项行程仅包含一天的行程数据,除非是多日行程。
要请求特定日期的行程数据
KatsanaAPI.shared.requestTravel(for: Date(), vehicleId: "78", completion: { (travel) in
//Success
}) { (error) in
//Error
}
如果您需要请求日期范围内的多个日期的行程数据
KatsanaAPI.shared.requestTravelSummaries(vehicleId: "78", fromDate: date1, toDate: date2, completion: { (travels) in
//Success
})
行程概要请求也将返回 Travel
实例,但不包括以节省带宽的行程数据。
如果需要,您可以再次请求特定日期的完整行程数据。
let summary = ... //Travel summary already requested from server
KatsanaAPI.shared.requestTravelUsing(summary: summary, completion: { (travel) in
//Success
}) { (error) in
//Error
}
请求今天的单个行程概要
KatsanaAPI.shared.requestTravelSummaryToday(vehicleId: "78") { travel in
//Success
}