YieldManager IOS SDK
Nektria提供了一个SDK,用于整合时间窗口关闭的服务。这个SDK作为中间件,以便于Yield Manager API和IOS客户端之间的集成。
功能
- 使用GPS持久化位置。
- 为特定订单生成开放/关闭时间窗口。
要求
- IOS 10+
- Xcode 8.3+
- Swift 4+
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将此 SDK 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'YieldManager', '~> 0.0.2'
end
然后,运行以下命令
$ pod install
手动安装
如果您不希望使用 CocoaPods,您可以手动将此 SDK 集成到项目中。
嵌入框架
-
打开终端,使用
cd
进入您的顶级项目目录,并运行以下命令(如果您的项目尚未初始化为 Git 仓库)$ git init
-
通过运行以下命令将 YieldManager 添加为 git 子模块
$ git submodule add https://github.com/nektria/yieldmanager-ios.git
-
打开新的
YieldManager
文件夹,并将YieldManager.xcodeproj
拖动到您的应用程序的 Xcode 项目的项目导航器中。 -
在项目导航器中选择
YieldManager.xcodeproj
,并验证部署目标是否与您的应用程序目标匹配。 -
接下来,在项目导航器中选择您的应用程序项目(蓝色项目图标)进入目标配置窗口,并在侧边栏的“Targets”标题下选择应用程序目标。
-
在该窗口的顶部标签栏中,打开“General”面板。
-
单击“Embedded Binaries”部分下的
+
按钮。 -
选择
YieldManager.framework
。 -
就这样!
使用方法
发送位置
import YieldManager
Client.shared.baseUrl = "https://<your-dedicated-url>/api/v1"
Client.shared.apiKey = "your-api-key"
let request = CreateLocationRequest(
address: "Avda Diagonal 440, Barcelona",
postalCode: "08037",
elevator: true
)
Client.shared.create(with: request) { (response, error) in
// Request has finished.
}
为特定订单生成时间窗口
import YieldManager
Client.shared.baseUrl = "https://<your-dedicated-url>/api/v1"
Client.shared.apiKey = "your-api-key"
let request = GenerateTimeWindowsRequest(
address: "Avda Diagonal 440",
postalCode: "08015",
elevator: true,
weight: 1000,
startTime: "2018/09/20 10:00",
endTime: "2018/09/22 12:00"
)
Client.shared.retrieveGrid(with: request) { (response, error) in
guard response != nil && response?.timeWindows != nil else {
return
}
let closedTimeWindows = response?.timeWindows?.filter(by: .closed)
for closedTimeWindow in closedTimeWindows! {
// ...
}
}
致谢
此SDK由 Nektria 所有并维护。