LyftSDK 2.0.0

LyftSDK 2.0.0

测试已测试
语言语言 SwiftSwift
许可证 NOASSERTION
发布上次发布2019年7月
SPM支持 SPM

Derek SchallerLyft Engineering 维护。



LyftSDK 2.0.0

  • 服务器 Cimen

Lyft iOS SDK

官方 Lyft iOS SDK 使将 Lyft 集成到您的应用程序变得简单。更具体地说,它提供以下功能:

  • 一个易于配置的 Lyft 按钮,可以显示费用、预计到达时间(ETA)和行程类型。点击按钮可深度链接到 Lyft 应用程序,并填充预定的上车/目的地/行程类型。
  • 用于异步调用 Lyft REST API 的 Swift 界面
  • 一个示例 iOS 项目,展示如何使用 SDK 组件

注册

  • 您必须首先在此处创建一个 Lyft 开发者账户 这里
  • 注册后,您将被分配一个客户端 ID,并能够生成客户端令牌。

安装

嵌入式框架需要至少 iOS 8 或 OS X Mavericks(10.9)的最低部署目标。

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

构建 LyftSDK 需要使用 CocoaPods 0.39.0+

要使用 CocoaPods 将 LyftSDK 集成到 Xcode 项目中,请在您的 Podfile 中指定它

platform :ios, '8.0'
use_frameworks!

pod 'LyftSDK'

然后,运行以下命令

$ pod install

无 iOS 特定 UI 元素安装

pod 'LyftSDK/API'

Carthage

Carthage 是 Cocoa 的简单、去中心化的依赖管理器。要导入此 SDK,请在您的 Cartfile 中添加以下内容

github "lyft/Lyft-iOS-sdk"

无依赖管理器集成

将 LyftSDK.xcodeproj 项目拖到您的项目导航器中。在项目构建目标中,点击“通用”选项卡,然后在“嵌入的库”下点击加号按钮。选择您的项目下的 LyftSDK.framework。

使用

SDK 配置

在您的应用中,在使用 LyftSDK 之前,请确保使用 LyftConfiguration 配置您的 开发者信息。这最好在您的 UIApplicationDelegateapplicationDidFinishLaunchingWithOptions 方法中完成,如下所示

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
	LyftConfiguration.developer = (token: "...", clientId: "...")
	// Complete other setup
	return true
}

Lyft 按钮

将 Lyft 按钮添加到 Storyboard 或 xib 与添加一个新的 UIView 到 superview 相同,只需在“Identity Inspector”选项卡中将类设置为 LyftButton。我们建议将宽度设置为 260p,将高度设置为 50p。请注意,较窄的宽度/高度可能会导致不希望的 UI,例如文本截断。

ib-setup

要使用其首选尺寸程序化创建按钮,只需调用 let lyftButton = LyftButton()

加载 ETA/cost

let pickup = CLLocationCoordinate2D(latitude: 37.7833, longitude: -122.4167)
let destination = CLLocationCoordinate2D(latitude: 37.7794703, longitude: -122.4233223)
lyftButton.configure(pickup: pickup, destination: destination)

自驾车型

Lyft 发展非常迅速,目前在这些城市提供服务 (此处省略链接)。请注意,一些自驾车型(如 Lyft Line)在所有 Lyft 城市中尚不可用。如果您设置了按钮的自驾车类型,该类型可能不可用,按钮将默认使用 Lyft Classic 自驾车类型。您可以使用 LyftAPI.rideTypes(at:completion:) 包装器获取特定地区的可用自驾车型。

深度链接行为

当用户点击 Lyft 按钮,默认行为是使用您提供的配置信息深度链接到原生 Lyft 应用。

但是,如果您想使用 Lyft 的移动网页体验在 Lyft 上创建行程请求,您可以将按钮的 deepLinkBehavior 指定如下

lyftButton.deepLinkBehavior = .web

这更适合您不想让用户在制作行程请求时离开您的应用程序。此外,它不需要用户安装 Lyft。

按钮样式

要指定按钮样式,使用 enum LyftButtonStyle

lyftButton.style = .MulberryDark

有5种风格可供选择

lyft-styles

Lyft API Wrapper

该SDK提供了围绕Lyft的REST API的包装方法 - 这在您希望构建一个更定制的与Lyft平台的集成时非常有用,而不是直接进行HTTP请求。

let pickup = CLLocationCoordinate2D(latitude: 37.7833, longitude: -122.4167)
LyftAPI.ETAs(to: pickup) { result in
    result.value?.forEach { eta in
        print("ETA for \(eta.rideKind): \(eta.minutes) min")
    }
}

Deeplinking

该SDK为那些喜欢自己处理自定义deeplinking的开发者提供了直接连接到Lyft应用的deeplinking,而不是依赖Lyft按钮。

let pickup = CLLocationCoordinate2D(latitude: 37.7833, longitude: -122.4167)
let destination = CLLocationCoordinate2D(latitude: 37.7794703, longitude: -122.4233223)
LyftDeepLink.requestRide(kind: .Standard, from: pickup, to: destination)

请注意,您可以在此次请求中指定LyftDeepLinkBehavior,以在深度链接到原生Lyft应用或在你的应用中启动Lyft的移动Web体验之间进行选择。

支持

如果您需要帮助配置或使用SDK,或者您有与我们API相关的其他问题,Lyft开发者平台团队可以通过Stack Overflow(使用lyft-api标签)提供支持。

报告安全漏洞

如果您在Lyft iOS SDK中发现了漏洞或潜在漏洞,请在[email protected]联系我们。我们将发送一封确认邮件以确认您的报告,并在确定问题正面或负面后发送额外的一封邮件。