Команда платформы Google Карт регулярно обновляет SDK, добавляя новые функции, исправляя ошибки и улучшая производительность. Эта страница содержит рекомендации по управлению зависимостями от мобильных SDK.
На какую версию ссылаться?
Для критически важных приложений создайте ссылку на последний релиз основной версии, которую вы используете (X.*), и ежегодно обновляйтесь до новой основной версии.
По мере выпуска новых версий вашего приложения в течение года вы можете начать использовать более новые версии Maps SDK для iOS. Это не потребует обновления вашего приложения, поскольку новые версии обратно совместимы.
Преимущества:
- Если вы обнаружите проблемы в Maps SDK для iOS, исправления будут предоставляться с сохранением обратной совместимости в течение 12 месяцев после первоначального выпуска основной версии в соответствии с Политикой поддержки мобильных устройств . Вам не придётся срочно переходить на несовместимую версию SDK, чтобы воспользоваться исправлениями.
- Последние улучшения и функции легко внедрить, если ваше приложение уже создано на основе последней версии.
- Ежегодные поэтапные обновления до последней основной версии SDK могут потребовать меньше работы по адаптации, переписыванию и тестированию вашего приложения, чем необходимость обработки обратно несовместимых изменений, внесенных в нескольких основных версиях.
Для некритических приложений укажите ссылку на любую исправленную версию. После получения уведомления об устаревании этой исправленной версии у вас будет 12 месяцев, чтобы предоставить пользователям доступ к обновлённому коду приложения.
Преимущества:
- Менее частые работы по техническому обслуживанию.
- Новые версии вашего приложения дольше поддерживают устройства пользователей, работающие на старых мобильных операционных системах (пока вам не потребуется обновиться до новой версии SDK).
Владельцы проектов с отслеживаемыми адресами электронной почты получают заблаговременные уведомления об изменениях, влияющих на каждый из их проектов. Будьте в курсе важных обновлений, прекращений поддержки и других изменений.
Установка
Менеджер пакетов Swift
Maps SDK для iOS можно установить через Swift Package Manager . Чтобы добавить SDK, убедитесь, что вы удалили все существующие зависимости Maps SDK для iOS.
Чтобы добавить SDK в новый или существующий проект, выполните следующие действия:
- Откройте
project
илиworkspace
Xcode, затем перейдите в Файл > Добавить зависимости пакета . - Введите https://github.com/googlemaps/ios-maps-sdk в качестве URL-адреса, нажмите 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
иworkspace
Xcode, если вы не используете их ни для чего, кроме CocoaPods.
CocoaPods
Всегда указывайте номер версии в зависимостях вместо использования оптимистичного оператора ( ~>
), так как это может привести к непредсказуемым и невоспроизводимым сборкам. Maps SDK для iOS придерживается семантического версионирования , и новые основные версии включают критические изменения.
Пример зависимости Podfile с использованием синтаксиса Podfile :
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '16.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '10.1.0' end
Техническое обслуживание и модернизация
Чтобы использовать последние улучшения в сборке, регулярно проверяйте наличие новых версий и обновляйте спецификации версий. При обновлении до новой основной версии проверьте примечания к выпуску на наличие изменений, несовместимых с предыдущей, и информацию о том, как обновить код.
Менеджер пакетов Swift
Чтобы обновить package
для существующего проекта, выполните следующие действия:
- Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в Project Navigator, чтобы проверить пакет и его версию.
Кокоаподы
Откройте терминал и перейдите в каталог, содержащий
Podfile
:cd <path-to-project>
- Запустите
pod outdated
чтобы проверить, доступна ли более новая версия Maps SDK для iOS. - Если обнаружена более новая версия SDK, обновите
Podfile
до этой версии. Чтобы узнать, как задать конкретную версию вPodfile
, см. раздел «Указание версий Pod» . - Запустить
pod update
. - Внесите необходимые изменения в результате обновления. Список изменений в каждом выпуске см. в примечаниях к выпуску .
- Очистите и пересоберите свой проект, выбрав «Продукт» > «Очистить» , а затем «Продукт» > «Сборка».
Ручная установка
Ссылку на последние исходные файлы можно получить в разделе Установка SDK.
Помимо опроса на наличие новых версий, владельцы проектов Google Cloud получают электронные письма об изменениях, связанных с обратной совместимостью, которые могут повлиять на их проекты. Чтобы получать заблаговременные уведомления об изменениях, связанных с обратной совместимостью, назначьте роль владельца с отслеживаемым адресом электронной почты для каждого из ваших проектов.