将驱动程序 SDK 和消费者 SDK 合并到同一 iOS 应用中

在同一个 iOS 应用中添加两个 SDK 的原因

在某些情况下,您可能希望在同一个 iOS 应用中同时添加驱动程序 SDK 和 Consumer SDK。例如:

  1. 您需要一个同时处理驾驶员和乘客功能的应用。
  2. 您的应用同时需要 ExpEditor/调度程序视图,您的司机可以使用该视图,但其他团队成员可以跟踪一辆车的详细信息。

在同一应用中构建两个 SDK 的前提条件

两个 SDK 都必须在项目设置中进行配置。对于框架安装的不同方式,您可以按照驱动程序 SDK 指南中的说明进行一些细微调整:

  1. 如需了解如何安装 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
    
  2. 如需手动安装,请参阅适用于 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