在同一个 iOS 应用中添加两个 SDK 的原因
在某些情况下,您可能希望在同一个 iOS 应用中同时添加驱动程序 SDK 和 Consumer SDK。例如:
- 您需要一个同时处理驾驶员和乘客功能的应用。
- 您的应用同时需要 ExpEditor/调度程序视图,您的司机可以使用该视图,但其他团队成员可以跟踪一辆车的详细信息。
在同一应用中构建两个 SDK 的前提条件
两个 SDK 都必须在项目设置中进行配置。对于框架安装的不同方式,您可以按照驱动程序 SDK 指南中的说明进行一些细微调整:
如需了解如何安装 CocoaPods,请参阅适用于 iOS 的驱动程序 SDK 项目配置 CocoaPods 使用入门。
在 Podfile 中,添加 Consumer SDK 依赖项。Podfile 应如下所示:
source "https://cpdc-eap.googlesource.com/ridesharing-consumer-sdk.git" source "https://cpdc-eap.googlesource.com/ridesharing-driver-sdk.git" source "https://github.com/CocoaPods/Specs.git" target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleRidesharingConsumer' pod 'GoogleRidesharingDriver' end
如需手动安装,请参阅适用于 iOS 的驱动程序 SDK 使用入门项目配置手动安装。
按照驱动程序 SDK 安装指南中的说明操作后,按照适用于 iOS 的消费者 SDK 使用入门项目配置手动安装中的第 5 步和第 6 步来配置 Consumer SDK。
版本控制
驱动程序 SDK 和 Consumer SDK 都需要 3.3.0 或更高版本才能支持此功能。
SDK 的理论重大变更
驱动程序和消费者 SDK v3.3.0 引入了以下更改,从理论上讲,这些更改可能会给某些驱动程序 SDK 应用带来问题(尽管这种情况不太可能发生)。一般来说,如果您的驱动程序 SDK 应用使用了适用于 Consumer SDK 的类,您需要将 Consumer SDK 声明为依赖项,以避免出现问题。下面列出了具体变更:
Driver SDK
移除了未使用的类:
GMTSLatLng.h
GMTSRequest.h
GMTSRequestHeader.h
GMTSRequestOptions.h
GMTSRequestOptionsSupport.h
GMTSSpeedReadingSpan.h
GMTSTerminalLocation.h
GMTSTimestamp.h
GMTSTrafficData.h
GMTSTrip.h
GMTSTripPropertyField.h
GMTSTripWaypoint.h
GMTSVehicle.h
GMTSVehicleLocation.h
GMTSVehicleMatch.h
GMTSVehicleSupportedTripType.h
GMTSVehicleType.h
GMTSWaypoint.h
已重命名预览版中的类,该类仅供“最后一公里舰队解决方案”中的可信驾驶模式使用。如需了解可信模式,请参阅可信驱动程序模型(预览版)。
GMTSTaskInfo.h
->GMTDTaskInfo.h
消费者 SDK
GMTSImmutableData
已重命名为 GMTCImmutableData
类。GMTSImmutableData
仅用作基类,从未直接使用。
GMTSImmutableData.h
->GMTCImmutableData.h
已重命名应向后兼容的 typedef:
GMTSFleetEngineIDString.h
->GMTCFleetEngineIDString.h