iOS-Partner-SDK
SpotHero iOS 合作伙伴 SDK 允许开发团队通过最少设置,让用户通过 SpotHero 购买停车。
开始之前
要添加 SpotHero iOS 合作伙伴 SDK 到您的应用程序,您需要一个 SpotHero 合作伙伴密钥。欲了解如何成为我们的合作伙伴,请填写 此表格,我们的合作伙伴关系计划中的一员将与您联系。
如果您已经有了 SpotHero 合作伙伴密钥,您可以开始。
入门指南
使用 CocoaPods 安装我们的 SDK。如果您尚未安装 CocoaPods,请点击链接以开始。
将以下行添加到您的 Podfile 中,在您希望添加我们的 SDK 的目标中
target 'YourAppTargetName'
pod 'SpotHero_iOS_Partner_SDK', '~> 2.3.0'
end
注意:由于我们的SDK是用Swift编写的,你必须在你的Podfile中使用use_frameworks!
标志,否则它将无法构建。
使用终端,将cd
命令切换到你Podfile所在的目录。运行pod install
,将安装我们的当前版本SDK。
确保你遵循CocoaPods的说明并打开.xcworkspace
文件,而不是.xcodeproj
文件,否则代码将无法构建。
注意:当前版本的SDK使用Swift 4.2,并需要Xcode 10或更高版本才能构建。如果你需要使用与Xcode 7.3兼容的版本,请使用SDK的0.1.3
版本,该版本在Swift 2.2和2.3中构建。有关Swift版本号的更多详细信息,请参阅我们关于Swift版本号的说明。
在代码中使用SDK
要在Swift文件中使用SDK或其元素,请在文件顶部添加以下行
import SpotHero_iOS_Partner_SDK
要在Objective-C文件中使用SDK或其元素,请在文件顶部替换此行
@import SpotHero_iOS_Partner_SDK;
启动SDK
SpotHero SDK作为单例实现,可以从任何UIViewController
子类中启动。它将以模态方式呈现。有一个必须设置的强制的属性
partnerApplicationKey: String
:你应用的伙伴密钥。
如果没有提供伙伴应用密钥,在调试过程中你会遇到断言失败,在生产环境中,SDK将无法启动。
最基本实现,假设你将按钮连接到这个IBAction,如下所示
@IBAction private func launchSDKButtonPressed(sender: AnyObject) {
let spotHeroSDK = SpotHeroPartnerSDK.shared
//Partner key: REQUIRED
spotHeroSDK.partnerApplicationKey = "Your SpotHero Partner Key Here"
//Production is the default setting, but if you're testing with a staging application key, change it like so:
ServerEnvironment.CurrentEnvironment = .staging
// Present SDK as modal
spotHeroSDK.launchSDK(fromViewController: self)
// OR if you need to access the viewController
// Launch SDK and get the view controller from a completion block
spotHeroSDK.launchSDK {
viewController in
if let viewController = viewController {
self.navigationController?.pushViewController(viewController, animated: true)
}
}
}
此Pod的示例应用程序包括如何获取最简单集成的一个例子。
如果你使用默认选项,SDK的外观应该如下
可配置选项
有几个选项你可以配置来让SDK在它的主机应用程序中看起来更有家感觉。它们是
tintColor: UIColor
:用于导航栏背景的高光颜色。textColor: UIColor
:用于按钮和导航栏标题的文本颜色。
以下是设置了可选项的相同IBAction
示例
@IBAction private func launchSDKButtonPressed(sender: AnyObject) {
let spotHeroSDK = SpotHeroPartnerSDK.shared
//Partner key: REQUIRED
spotHeroSDK.partnerApplicationKey = "Your SpotHero Partner Key Here"
//Text Color for nav bar: OPTIONAL
spotHeroSDK.textColor = .black
//Tint color for nav bar: OPTIONAL
spotHeroSDK.tintColor = .yellow
//Ignition, and liftoff!
spotHeroSDK.launchSDK(fromViewController: self)
}
这里展示了在启动时的样子
预发布环境
如果您想在一个非生产环境中测试 SDK,请设置 ServerEnvironment.CurrentEnvironment = .staging
默认的服务器环境是生产环境。**注意,您的应用程序密钥在预发布和生产环境下是不同的**。
调试帮助
如果您遇到了问题,并且想查看SpotHero服务器往返调用的非常详尽的详细信息,您可以更改 SDK 单例中的 debugPrintInfo
属性为 true
。
出于安全考虑,我们要求您在所有的发行版本中都不将其设置为 true
。默认值是 false
,因此如果您没有主动更改它,那么就没有问题。
关于 Swift 版本的一个说明
Swift 有一个痛点,直到 ABI 稳定之前,您的代码以及所有的依赖都必须使用相同的 Swift 版本。这个 SDK 完全是用 Swift 编写的,因此请确保如果您有其他 Swift 基础的依赖,或者您的代码与某个特定的 Swift 版本相关联。
当与 Xcode 10 一起使用时,当前版本的 SDK 支持 Swift 4 和 Swift 3。
如果您正在使用 Xcode 9(使用 Swift 3 或 4)
- 使用 SDK 的
2.1.1
版本。
如果您仅使用 Swift 3(或 Xcode 8)
- 使用 SDK 的
1.0.0
版本。
如果您正在使用 Xcode 8.1.x 到 Xcode 7.3.x
- 使用 SDK 的
0.1.3
版本,它支持 Swift 2.2 和 2.3。请按照链接中的标记标签下的本公告版本中的说明进行安装。
请注意,如果您正在使用低于 Xcode 7.3.x 的任何版本,由于 Swift 2.3 不支持这些版本,您将无法构建我们的 SDK。
我们致力于及时更新 SDK,以确保在 Xcode 中提供新的 Swift 版本。如果您需要访问预发布版本,请联系您的 SpotHero 合作伙伴协调员。