TransportApiSdk - iOS版的 WhereIsMyTransport API 客户端库
WhereIsMyTransport API 的官方 iOS SDK。
平台访问完全免费,所以更多信息和获取凭据,请访问 开发者门户。
使用方法
在您的应用程序代理中导入 TransportApiSdk,并在 applicationDidFinishLaunching:
内添加
import TransportApiSdk
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
TransportApiClient.loadCredentials(clientId: "YOUR_CLIENT_ID", clientSecret: "YOUR_CLIENT_SECRET")
return true
}
现在您可以在您的应用程序的任何地方进行调用
import TransportApiSdk
TransportApiClient.getAgencies
{
(result: TransportApiResult<[Agency]>) in
// Do fancy things with the results.
print(result.Data.rawJson)
}
功能
新增 设备功能可用
何时下车 (Beta)
通知用户当接近需要下车的站时,通过振动和横幅进行通知。
- 函数停止监控的条件:用户没有更多的上下车点,或者行程时间已到。
- 再次调用该函数将覆盖任何现有的函数。
- 函数以最少的数据使用对用户的位置进行采集,以进行众包。
在使用此功能之前,请执行以下操作:
- 在您的应用的
Info.plist
中添加NSLocationAlwaysUsageDescription
描述。 - 在
Project Settings > Capabilities > Background Modes
中开启Background Fetch
和Location Updates
复选框。 - 请求通知权限。
示例
import TransportApiSdk
// Grant access to notifications.
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]){(granted, error) in}
// Call WhenToGetOff with the itinerary.
TransportApiClient.startMonitoringWhenToGetOff(itinerary: USER_SELECTED_ITINERARY)
包装函数
以下API端点是可用的
- POST api/journeys
- GET api/journeys/{id}
- GET api/journeys/{id}/itineraries/{id}
- GET api/agencies
- GET api/agencies/{id}
- GET api/stops
- GET api/stops/{id}
- GET api/stops/{id}/timetables
- GET api/lines
- GET api/lines/{id}
- GET api/lines/{id}/timetables
- GET api/fareproducts
- GET api/fareproducts/{id}
安装
CocoaPods
使用以下命令安装 CocoaPods
gem install cocoapods
通过创建 Podfile
将 TransportApiSdk 集成到您的 Xcode 项目中。
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'TransportApiSdk'
end
运行 pod install
以构建您的依赖关系。
Carthage
待办事项
作者
Chris King - https://twitter.com/crkingza
许可
TransportApiSdk采用MIT许可。有关更多信息,请参阅LICENSE文件。