После включения выставления счетов и создания ключа API вы готовы настроить проект Xcode, который вы используете для разработки своего приложения.
Примечания к выпуску доступны для каждого выпуска.
Шаг 1. Установите необходимое программное обеспечение
Чтобы создать проект с помощью Maps SDK для iOS, необходимо скачать и установить:
- Xcode версии 15.0 или новее
Шаг 2. Создайте проект Xcode и установите Maps SDK для iOS.
Менеджер пакетов 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 найдите Frameworks, Libraries и Embedded Content . Используйте знак минус (-), чтобы удалить следующую структуру:
-
GoogleMapsBase
(только для обновлений с версий ранее 9.0.0) -
GoogleMapsCore
(только для обновлений с версий ранее 9.0.0) -
GoogleMapsM4B
(только для обновлений с версий ранее 9.0.0)
-
- В Xcode перейдите в «Файл» > «Пакеты» > «Обновить до последних версий пакетов».
- Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в «Навигаторе проекта», чтобы проверить пакет и его версию.
Чтобы удалить существующие зависимости Maps SDK для iOS, добавленные с помощью CocoaPods
, выполните следующие действия:
- Закройте рабочую область Xcode. Откройте терминал и выполните следующую команду:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
- Удалите
Podfile
,Podfile.resolved
иworkspace
Xcode, если вы не используете их ни для чего, кроме CocoaPods.
- В настройках конфигурации проекта Xcode найдите Frameworks, Libraries и Embedded Content . Используйте знак минус (-), чтобы удалить следующую структуру:
-
GoogleMaps
-
GoogleMapsBase
(только для установок до версии 9.2.0) -
GoogleMapsCore
(только для установок до версии 9.2.0) -
GoogleMapsM4B
(только для установок до версии 9.0.0)
-
- Из каталога верхнего уровня вашего проекта Xcode удалите пакет
GoogleMaps
.
Ручная установка
В этом руководстве показано, как вручную добавить XCFrameworks, содержащий Maps SDK для iOS, в ваш проект и настроить параметры сборки в Xcode. XCFramework — это двоичный пакет, который можно использовать на нескольких платформах, включая машины, использующие Apple Silicon .
- Загрузите следующие двоичные файлы SDK и файлы ресурсов:
- Извлеките файлы, чтобы получить доступ к XCFrameworks и ресурсам.
- Если у вас еще нет проекта Xcode, создайте его сейчас и сохраните на своем локальном компьютере. Если вы новичок в разработке для iOS:
- Создайте новый проект.
- Выберите iOS > Шаблон приложения .
- На экране опций проекта:
- Введите название проекта .
- Запишите значение поля идентификатора пакета . Вы можете использовать это значение, чтобы ограничить свой ключ API ниже.
- Установите для интерфейса проекта значение Storyboard .
- Установите язык Swift или Objective-C .
- Откройте вкладку «Общие» . Перетащите следующий XCFramework в свой проект в разделе Frameworks, Libraries и Embedded Content . Обязательно выберите «Не вставлять» :
-
GoogleMaps.xcframework
-
- Скопируйте
GoogleMaps.bundle
из загруженного вами GoogleMapsResources в каталог верхнего уровня вашего проекта Xcode. При появлении запроса обязательно выберите «Копировать элементы в папку целевой группы» . - Выберите свой проект в Навигаторе проектов и выберите цель своего приложения.
- Откройте вкладку «Фазы сборки» для цели вашего приложения. В Link Binary with Libraries добавьте следующие платформы и библиотеки:
-
Accelerate.framework
-
Contacts.framework
-
CoreData.framework
-
CoreGraphics.framework
-
CoreImage.framework
-
CoreLocation.framework
-
CoreTelephony.framework
-
CoreText.framework
-
GLKit.framework
-
ImageIO.framework
-
libc++.tbd
-
libz.tbd
-
Metal.framework
-
OpenGLES.framework
(только если вы используете OpenGL) -
QuartzCore.framework
-
SystemConfiguration.framework
-
UIKit.framework
-
Выберите свой проект, а не конкретную цель, и откройте вкладку «Настройки сборки» . В разделе «Связывание — Общие -> Другие флаги компоновщика» добавьте
-ObjC
в поля «Отладка» и «Выпуск». Если эти параметры не отображаются, измените фильтр на панели «Настройки сборки» с «Базовый» на «Все» .Чтобы установить Places SDK для iOS XCFramework, см. раздел Начало работы с Places SDK для iOS .
Какао-стручки
Maps SDK для iOS доступен в виде модуля CocoaPods . CocoaPods — это менеджер зависимостей с открытым исходным кодом для проектов Cocoa Swift и Objective-C.
Если у вас еще нет инструмента CocoaPods, установите его в macOS, выполнив следующую команду из терминала. Подробности см. в руководстве по началу работы с CocoaPods .
sudo gem install cocoapods
Создайте Podfile
для Maps SDK для iOS и используйте его для установки API и его зависимостей:
- Если у вас еще нет проекта Xcode, создайте его сейчас и сохраните на своем локальном компьютере. Если вы новичок в разработке для iOS:
- Создайте новый проект.
- Выберите iOS > Шаблон приложения .
- На экране опций проекта:
- Введите название проекта .
- Запишите значение поля идентификатора пакета . Вы можете использовать это значение, чтобы ограничить свой ключ API ниже.
- Установите для интерфейса проекта значение Storyboard .
- Установите язык Swift или Objective-C .
- Создайте файл с именем
Podfile
в каталоге вашего проекта. Этот файл определяет зависимости вашего проекта. - Отредактируйте
Podfile
и добавьте свои зависимости вместе с их версиями . Вот пример, который включает зависимость, необходимую для Maps SDK для iOS: Обязательно регулярно запускайтеsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '9.2.0' end
pod outdated
чтобы обнаружить появление более новой версии и быть уверенным, что вы всегда используете самую последнюю версию. При необходимости обновитесь до последней версии . - Сохраните
Podfile
. Откройте терминал и перейдите в каталог, содержащий
Podfile
:cd <path-to-project>
Запустите команду
pod install
. При этом будут установлены API, указанные вPodfile
, вместе со всеми зависимостями, которые они могут иметь.pod install
Закройте Xcode, а затем откройте (дважды щелкните) файл
.xcworkspace
вашего проекта, чтобы запустить Xcode. С этого момента вы должны использовать файл.xcworkspace
для открытия проекта.
Чтобы обновить API для существующего проекта, выполните следующие действия:
- Откройте терминал и перейдите в каталог проекта, содержащий
Podfile
. - Запустите команду
pod update
. Это обновит все API, указанные вPodfile
, до последней версии.
Шаг 3. Добавьте ключ API в проект.
В разделе «Получение ключа API» вы создали ключ API для своего приложения. Теперь добавьте этот ключ в свой проект Xcode.
В следующих примерах замените YOUR_API_KEY
своим ключом API.
Быстрый
Добавьте свой ключ API в AppDelegate.swift
следующим образом:
- Добавьте следующий оператор импорта:
import GoogleMaps
- Добавьте в свой
application(_:didFinishLaunchingWithOptions:)
следующее, используя свой ключ API:GMSServices.provideAPIKey("YOUR_API_KEY")
- Если вы также используете Places API, добавьте свой ключ еще раз, как показано здесь:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Цель-C
Добавьте свой ключ API в свой AppDelegate.m
следующим образом:
- Добавьте следующий оператор импорта:
@import GoogleMaps;
- Добавьте в свое
application:didFinishLaunchingWithOptions:
используя свой ключ API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Если вы также используете Places API, добавьте свой ключ еще раз, как показано здесь:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Шаг 4 (необязательно). Проверьте файл манифеста конфиденциальности Apple.
Apple требует предоставить информацию о конфиденциальности для приложений в App Store. Посетите страницу сведений о конфиденциальности Apple App Store для получения обновлений и дополнительной информации.
Файл манифеста конфиденциальности Apple включен в пакет ресурсов для SDK. Чтобы убедиться, что файл манифеста конфиденциальности включен, и проверить его содержимое, создайте архив своего приложения и создайте отчет о конфиденциальности из архива.
Шаг 5 (необязательно). Объявите схемы URL-адресов, используемые API.
Начиная с iOS 9 и Xcode 7, приложения могут объявлять схемы URL-адресов, которые они собираются открыть, указав схемы в файле Info.plist
приложения. Maps SDK для iOS открывает мобильное приложение Google Maps, когда пользователь щелкает логотип Google на карте, и поэтому ваше приложение может объявить соответствующие схемы URL-адресов.
Чтобы объявить схемы URL-адресов, используемые Maps SDK для iOS, добавьте в свой Info.plist
следующие строки:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
На следующем снимке экрана показана конфигурация пользовательского интерфейса Xcode:
Без приведенного выше объявления могут возникнуть следующие ошибки, когда пользователь нажимает логотип Google на карте:
-
-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"
Чтобы устранить эти ошибки, добавьте объявление в свой Info.plist
.
Что дальше
Теперь, когда у вас есть ключ API и проект Xcode, вы можете создавать и запускать приложения. Navigation SDK для iOS предоставляет множество руководств и примеров приложений, которые помогут вам начать работу. Более подробную информацию см.:
- Следующие учебные пособия являются рекомендуемыми отправными точками:
- Ознакомьтесь с доступными примерами кода и лабораториями кода .
- Если вам нужны комплексные решения, ознакомьтесь с доступными решениями Maps .