Команда Google Maps Platform регулярно обновляет SDK, добавляя новые функции, исправляя ошибки и улучшая производительность. На этой странице представлены рекомендации по управлению зависимостями от мобильных SDK.
На какую версию дать ссылку?
Для критически важных приложений используйте последнюю версию основной версии (X.*) и ежегодно обновляйте приложение до новой основной версии.
По мере выпуска новых версий вашего приложения в течение года вы можете начать использовать более новые версии SDK Maps для iOS. Это не потребует обновлений вашего приложения, поскольку новые версии обратно совместимы.
Преимущества:
- Если вы обнаружите проблемы в SDK карт для iOS, исправления будут предоставлены в обратно совместимом виде в течение 12 месяцев после первоначального выпуска основной версии в соответствии с политикой поддержки мобильных устройств . Вам не потребуется срочно обновляться до несовместимой версии SDK, чтобы воспользоваться исправлениями.
- Внедрить последние улучшения и функции проще, если ваше приложение уже создано на основе последней версии.
- Ежегодные поэтапные обновления до последней основной версии SDK могут потребовать меньше усилий по адаптации, переписыванию и тестированию вашего приложения, чем необходимость обработки обратно несовместимых изменений, внесенных в нескольких основных версиях.
Для некритичных приложений используйте ссылки на исправленные версии. После получения уведомления об устаревании этой исправленной версии у вас будет 12 месяцев, чтобы предоставить пользователям обновленный код приложения.
Преимущества:
- Проведение технического обслуживания реже.
- Новые версии вашего приложения обеспечивают более длительную поддержку устройств пользователей, работающих под управлением старых мобильных операционных систем (до тех пор, пока вам не потребуется обновить SDK до новой версии).
Владельцы проектов, чьи адреса электронной почты отслеживаются, получают упреждающие уведомления об изменениях, затрагивающих каждый из их проектов. Будьте в курсе важных обновлений, устаревания функций и других изменений.
Установка
Swift Package Manager
SDK для работы с картами для iOS можно установить через Swift Package Manager . Чтобы добавить SDK, убедитесь, что вы удалили все существующие зависимости SDK для работы с картами для iOS.
Чтобы добавить SDK в новый или существующий проект, выполните следующие действия:
- Откройте свой
projectилиworkspaceXcode, затем перейдите в меню Файл > Добавить зависимости пакета . - Введите в качестве URL-адреса https://github.com/googlemaps/ios-maps-sdk , нажмите Enter , чтобы загрузить пакет, и нажмите «Добавить пакет».
- Чтобы установить конкретную
version, установите в поле « Правило зависимости» один из вариантов, основанных на версии. Для новых проектов мы рекомендуем указать последнюю версию и использовать опцию «Точная версия». После завершения нажмите «Добавить пакет».
Чтобы обновить package для существующего проекта, выполните следующие действия:
При обновлении с версии ниже 9.0.0 необходимо удалить следующие зависимости:
GoogleMapsBase,GoogleMapsCoreиGoogleMapsM4B. Не удаляйте зависимость дляGoogleMaps. Дополнительную информацию см. в примечаниях к выпуску версии 9.0.0 .В настройках проекта Xcode найдите разделы «Фреймворки», «Библиотеки» и «Встроенный контент» . Используйте знак минус (-) для удаления следующего фреймворка:
-
GoogleMapsBase(Только для обновлений с версий ниже 9.0.0) -
GoogleMapsCore(только для обновлений с версий ниже 9.0.0) -
GoogleMapsM4B(Только для обновлений с версий ниже 9.0.0)
-
- В Xcode перейдите в меню "Файл > Пакеты > Обновить до последних версий пакетов".
- Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в Project Navigator и проверьте пакет и его версию.
Чтобы удалить существующие зависимости Maps SDK для iOS, добавленные с помощью CocoaPods , выполните следующие действия:
- Закройте рабочую область Xcode. Откройте терминал и выполните следующую команду:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
- Удалите
Podfile,Podfile.resolvedиworkspaceXcode, если вы используете их только для CocoaPods.
CocoaPods
Всегда указывайте номер версии в зависимостях вместо использования оптимистичного оператора ( ~> ), поскольку это может привести к непредсказуемым и невоспроизводимым сборкам. SDK карт для iOS придерживается семантического версионирования , и новые основные версии содержат изменения, нарушающие обратную совместимость.
Пример использования синтаксиса Podfile для работы с зависимостями:
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '16.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '10.8.0' end
Техническое обслуживание и модернизация
Чтобы использовать последние улучшения, регулярно проверяйте наличие новых версий и обновляйте спецификации версий. Если вы обновляетесь до новой основной версии, ознакомьтесь с примечаниями к выпуску на предмет обратно несовместимых изменений и инструкций по обновлению кода.
Swift Package Manager
Чтобы обновить package для существующего проекта, выполните следующие действия:
- Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в Project Navigator и проверьте пакет и его версию.
Кокоаподы
Откройте терминал и перейдите в директорию, содержащую
Podfile:cd <path-to-project>
- Запустите команду
pod outdated, чтобы проверить наличие более новой версии SDK для карт iOS. - Если обнаружена более новая версия SDK, обновите свой
Podfile, указав эту новую версию. См. раздел «Указание версий pod-ов» , чтобы узнать, как задать конкретную версию в вашемPodfile. - Выполните команду `run
pod update.` - Внесите все необходимые изменения в результате обновления. Список изменений в каждом выпуске см. в примечаниях к выпуску .
- Очистите и пересоберите свой проект, выбрав Продукт > Очистить , а затем Продукт > Собрать.
Ручная установка
Ссылку на последние исходные файлы можно найти в разделе «Установка SDK».
Помимо проверки наличия новых версий, владельцы проектов Google Cloud получают электронные письма о несовместимых с предыдущими версиями изменениях, которые могут повлиять на их проекты. Чтобы получать упреждающие уведомления о несовместимых с предыдущими версиями изменениях, назначьте роль владельца с отслеживаемым адресом электронной почты для каждого из ваших проектов.