Причины добавить оба SDK в одно приложение iOS
В некоторых случаях вам может потребоваться иметь и Driver SDK, и Consumer SDK в одном приложении iOS. Например:
- Вам нужно, чтобы одно приложение выполняло функции водителя и пассажира.
- Вашему приложению требуется представление как экспедитора, так и диспетчера, чтобы ваши водители могли его использовать, а другие члены команды могли отслеживать сведения об одном транспортном средстве.
Предварительные условия для сборки обоих SDK в одном приложении
Оба SDK должны быть настроены в настройках проекта. Для различных способов установки платформы вы можете следовать руководству Driver SDK с некоторыми небольшими изменениями:
Инструкции по установке Cocoapods см. в разделе «Начало работы с драйвером SDK для настройки проекта iOS Cocoapods» .
В подфайле добавьте зависимость Consumer SDK. Подфайл должен выглядеть так
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
Инструкции по установке вручную см. в разделе Начало работы с драйвером SDK для установки конфигурации проекта iOS. Ручная установка .
После выполнения инструкций по установке Driver SDK выполните шаги 5 и 6 в руководстве по началу работы с Consumer SDK для iOS по настройке проекта, чтобы настроить Consumer SDK.
Управление версиями
Для поддержки этой функции и Driver SDK, и Consumer SDK должны иметь версию 3.3.0 или более позднюю.
Теоретические критические изменения SDK
В Driver and Consumer SDK версии 3.3.0 внесены следующие изменения, которые теоретически могут вызвать проблемы для некоторых приложений Driver SDK, хотя это маловероятно. В общем, если ваше приложение Driver SDK использует классы, предназначенные для Consumer SDK, вам необходимо объявить Consumer SDK как зависимость, чтобы избежать проблем. Ниже приводится список изменений:
Драйвер 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
Переименован класс в предварительной версии, который используется только в режиме доверенного водителя в Last Mile Fleet Solution. Подробнее о доверенном режиме см. в разделе Модель доверенного драйвера (предварительная версия) .
-
GMTSTaskInfo.h
->GMTDTaskInfo.h
Потребительский SDK
Класс GMTSImmutableData
переименован в GMTCImmutableData
. GMTSImmutableData
использовался только как базовый класс и никогда не использовался напрямую.
-
GMTSImmutableData.h
->GMTCImmutableData.h
Переименован typedef, который должен быть обратно совместим:
-
GMTSFleetEngineIDString.h
->GMTCFleetEngineIDString.h