YieldManager 0.0.4

YieldManager 0.0.4

Daniel维护。




  • Nektria IT

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 所有并维护。

许可

查看详细内容