После включения биллинга и создания ключа 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
, установите поле Dependency Rule на один из вариантов на основе версии. Для новых проектов мы рекомендуем указать последнюю версию и использовать параметр "Exact Version". После завершения нажмите "Add Package".
Чтобы обновить package
для существующего проекта, выполните следующие действия:
Если вы обновляетесь с версии ниже 9.0.0, вам необходимо удалить следующие зависимости:
GoogleMapsBase
,GoogleMapsCore
иGoogleMapsM4B
после обновления. Не удаляйте зависимость дляGoogleMaps
. Для получения дополнительной информации см. Заметки о выпуске версии 9.0.0 .В настройках конфигурации проекта Xcode найдите Frameworks, Libraries, and Embedded Content . Используйте знак минус (-) , чтобы удалить следующий фреймворк:
-
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.
- В настройках конфигурации проекта Xcode найдите Frameworks, Libraries, and 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 > Шаблон приложения .
- На экране параметров проекта:
- Введите название проекта .
- Запишите значение поля Bundle identifier . Вы можете использовать это значение для ограничения вашего API-ключа ниже.
- Установите для интерфейса проекта значение Storyboard .
- Установите язык Swift или Objective-C .
- Откройте вкладку General . Перетащите следующий XCFramework в свой проект в раздел Frameworks, Libraries, and Embedded Content . Убедитесь, что выбран параметр Do Not Embed :
-
GoogleMaps.xcframework
-
- Скопируйте
GoogleMaps.bundle
из GoogleMapsResources , который вы скачали, в каталог верхнего уровня вашего проекта Xcode. Обязательно выберите Копировать элементы в папку целевой группы при появлении соответствующего запроса. - Выберите свой проект в Навигаторе проектов и укажите цель вашего приложения.
- Откройте вкладку Build Phases для целевого приложения. В 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
-
Security.framework
-
SystemConfiguration.framework
-
UIKit.framework
-
Выберите свой проект, а не конкретную цель, и откройте вкладку Build Settings . В разделе Linking - General -> Other Linker Flags добавьте
-ObjC
к "Debug" и "Release". Если эти настройки не видны, измените фильтр в панели Build Settings с Basic на All .Чтобы установить Places SDK для iOS XCFramework, см. раздел Начало работы с Places SDK для iOS .
CocoaPods
Maps SDK для iOS доступен как pod CocoaPods . CocoaPods — это менеджер зависимостей с открытым исходным кодом для проектов Swift и Objective-C Cocoa.
Если у вас еще нет инструмента CocoaPods, установите его на macOS, выполнив следующую команду из терминала. Подробности см. в руководстве по началу работы с CocoaPods .
sudo gem install cocoapods
Создайте Podfile
для Maps SDK для iOS и используйте его для установки API и его зависимостей:
- Если у вас еще нет проекта Xcode, создайте его сейчас и сохраните на локальном компьютере. Если вы новичок в разработке iOS:
- Создайте новый проект.
- Выберите iOS > Шаблон приложения .
- На экране параметров проекта:
- Введите название проекта .
- Запишите значение поля Bundle identifier . Вы можете использовать это значение для ограничения вашего API-ключа ниже.
- Установите для интерфейса проекта значение Storyboard .
- Установите язык Swift или Objective-C .
- Создайте файл с именем
Podfile
в каталоге вашего проекта. Этот файл определяет зависимости вашего проекта. - Отредактируйте
Podfile
и добавьте свои зависимости вместе с их версиями . Вот пример, который включает зависимость, необходимую для Maps SDK для iOS: Обязательно регулярно запускайтеsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '16.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '10.0.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 в проект
В Get an API key вы сгенерировали API key для вашего приложения. Теперь добавьте этот ключ в ваш проект Xcode.
В следующих примерах замените YOUR_API_KEY
на свой ключ API.
Быстрый
Добавьте свой ключ API в AppDelegate.swift
следующим образом:
- Добавьте следующий оператор импорта:
import GoogleMaps
- Добавьте следующее в метод
application(_:didFinishLaunchingWithOptions:)
, используя ваш ключ API:GMSServices.provideAPIKey("YOUR_API_KEY")
- Если вы также используете API Places, добавьте свой ключ еще раз, как показано здесь:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Добавьте свой ключ API в AppDelegate.m
следующим образом:
- Добавьте следующий оператор импорта:
@import GoogleMaps;
- Добавьте следующее в
application:didFinishLaunchingWithOptions:
используя ваш ключ API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Если вы также используете API Places, добавьте свой ключ еще раз, как показано здесь:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Шаг 4 (необязательно): проверьте файл Apple Privacy Manifest
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 .