Руководство по платформе iOS
Это руководство показывает, как настроить вашу среду разработки SDK для развертывания приложений Cordova на устройствах iOS, таких как iPhone и iPad, а также как необязательно использовать инструменты командной строки, ориентированные на iOS, в вашем рабочем процессе разработки. Вам необходимо установить инструменты SDK независимо от того, хотите ли вы использовать эти инструменты командной строки, ориентированные на платформу, или кроссплатформенный Cordova CLI для разработки. Для сравнения двух путей разработки см. Обзор. Для получения подробной информации о CLI см. Справочник по Cordova CLI.
Требования и поддержка
Инструменты Apple®, необходимые для создания приложений iOS, работают только на операционной системе OS X на компьютерах Mac с процессорами Intel. Xcode® 7.0 (минимальная требуемая версия) работает только на OS X версии 10.10.4 (Yosemite) или выше и включает iOS 9 SDK (Software Development Kit). Для отправки приложений в App Store Apple℠ требуется использование последних версий инструментов Apple.
Вы можете протестировать многие функции Cordova с помощью эмулятора iOS, установленного вместе с iOS SDK и Xcode, но для полного тестирования всех функций устройства приложения перед отправкой в App Store вам необходимо реальное устройство. Устройство должно иметь установленную не менее iOS 8, минимальную версию iOS, поддерживаемую по состоянию на Cordova 4.0.0. Поддерживаемые устройства включают iPhone 4S, iPhone 5, iPhone 5C, iPhone 5S, iPhone 6, iPhone 6 Plus, iPhone 6S, iPhone 6S Plus, iPhone SE, iPad 2, iPad 3, iPad 4, iPad Air, iPad Air 2, iPad Pro, iPad Mini, iPad Mini 2, iPad Mini 3, iPod Touch 5-го поколения и iPod Touch 6-го поколения или более поздних.
Установка требований
Xcode
Существует два способа загрузки Xcode:
из App Store, доступного путем поиска «Xcode» в приложении App Store.
с Apple Developer Downloads, что требует регистрации в качестве Apple Developer.
После установки Xcode несколько инструментов командной строки необходимо включить для работы Cordova. Из командной строки выполните:
$ xcode-select --install
Инструменты развертывания
Инструменты ios-deploy позволяют запускать приложения iOS на устройстве iOS из командной строки.
Для его установки выполните следующие действия из командной строки терминала:
$ npm install -g ios-deploy
Настройка проекта
Установка Xcode в основном настроит все необходимое для начала работы с нативной частью. Теперь вы сможете создавать и компилировать проект cordova. Для получения более подробной информации об установке и использовании CLI обратитесь к руководству Создайте свое первое приложение.
Развертывание в эмуляторе
Для предварительного просмотра приложения в эмуляторе iOS:
-
Откройте файл рабочего пространства (
platforms/ios/HelloWorld.xcworkspace) из Xcode, или из командной строки:$ open ./platforms/ios/HelloWorld.xcworkspace/
Убедитесь, что проект
HelloWorldвыбран в левой панели (1).
Выберите целевое устройство из меню Схема в строке инструментов, например, эмулятор iPhone 7 Plus, как показано на рисунке (2)
Нажмите кнопку Запуск (3) в той же строке инструментов слева от меню Схема. Это скомпилирует, развернет и запустит приложение в эмуляторе. Откроется отдельное приложение эмулятора для отображения приложения:
Одновременно может работать только один эмулятор, поэтому, если вы хотите протестировать приложение в другом эмуляторе, вам нужно закрыть приложение эмулятора и запустить другую цель в Xcode.
Xcode поставляется со встроенными эмуляторами для последних версий iPhone и iPad. Более старые версии могут быть доступны в панели Xcode → Preferences... → Components.
Развертывание на устройстве
Для получения подробной информации о различных требованиях к развертыванию на устройстве обратитесь к разделу «Запуск вашего приложения на устройствах» в документе Apple О рабочих процессах распространения приложений. Вкратце, перед развертыванием необходимо выполнить следующие действия:
Создайте Профили профилей в Портал профилей Provisioning iOS. Вы можете использовать Ассистент создания профилей разработки для создания и установки профиля и сертификата, которые требуются Xcode.
Убедитесь, что параметр Идентификатор подписи кода в разделе Подпись кода в настройках сборки установлен на имя вашего профиля профилей.
Для развертывания на устройстве:
Подключите устройство к вашему компьютеру Mac с помощью USB-кабеля.
Выберите имя проекта в раскрывающемся списке Схема окна Xcode.
Выберите свое устройство из раскрывающегося списка Устройство. Если оно подключено через USB, но все еще не отображается, нажмите кнопку Организатор, чтобы устранить любые ошибки.
Нажмите кнопку Запуск, чтобы скомпилировать, развернуть и запустить приложение на вашем устройстве.
Подписание приложения
Сначала вы должны ознакомиться со страницей поддержки подписи кода и рабочими процессами распространения приложений.
Использование флагов
Для подписи приложения вам потребуются следующие параметры:
| Параметр | Флаг | Описание |
|---|---|---|
| Идентификатор подписи кода | --codeSignIdentity | Идентификатор подписи кода, который необходимо использовать для подписи. Он может быть создан с помощью Xcode и добавлен в ваш ключ. Начиная с Xcode 8, вы должны использовать --codeSignIdentity="iPhone Developer" как для debug, так и для release. |
| Группа разработки | --developmentTeam | Группа разработки (Идентификатор группы) для использования при подписи кода. Вы бы использовали эту настройку и упрощенный идентификатор подписи кода (например, только 'iPhone Developer') для подписи ваших приложений, вам не нужно предоставлять профиль Provisioning. |
| Тип упаковки | --packageType | Это определит тип сгенерированной сборки Xcode. Допустимые варианты — development (по умолчанию), enterprise, ad-hoc и app-store. |
| Профиль профилей | --provisioningProfile | (Необязательно) GUID профиля профилей, который будет использоваться для ручной подписи. Он копируется сюда на ваш компьютер Mac: ~/Library/MobileDevice/Provisioning\ Profiles/. Открыв его в текстовом редакторе, вы можете найти GUID, который необходимо указать здесь, если используется ручная подпись. |
| Правила ресурсов подписи кода | --codesignResourceRules | (Необязательно) Используется для управления файлами в пакете, которые должны быть защищены подписью кода. Для получения более подробной информации прочитайте статью «OS X Code Signing In Depth» |
| Автоматическое предоставление | --automaticProvisioning | (Необязательно) Включить, чтобы разрешить Xcode автоматически управлять профилями профилей. Допустимые варианты — false (по умолчанию) и true. |
Использование build.json
В качестве альтернативы вы можете указать их в файле конфигурации сборки (build.json) с помощью аргумента --buildConfig к тем же командам. Вот пример файла конфигурации сборки:
Для автоматической подписи, где профили профилей управляются автоматически Xcode (рекомендуется):
{
"ios": {
"debug": {
"codeSignIdentity": "iPhone Developer",
"developmentTeam": "FG35JLLMXX4A",
"packageType": "development",
"automaticProvisioning": true,
"buildFlag": [
"EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
"LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
]
},
"release": {
"codeSignIdentity": "iPhone Developer",
"developmentTeam": "FG35JLLMXX4A",
"packageType": "app-store",
"automaticProvisioning": true,
"buildFlag": [
"EMBEDDED_CONTENT_CONTAINS_SWIFT = YES",
"ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO",
"LD_RUNPATH_SEARCH_PATHS = \"@executable_path/Frameworks\""
]
}
}
}
Для ручной подписи, указания профилей профилей по UUID:
{
"ios": {
"debug": {
"codeSignIdentity": "iPhone Development",
"provisioningProfile": "926c2bd6-8de9-4c2f-8407-1016d2d12954",
"developmentTeam": "FG35JLLMXX4A",
"packageType": "development"
},
"release": {
"codeSignIdentity": "iPhone Distribution",
"provisioningProfile": "70f699ad-faf1-4adE-8fea-9d84738fb306",
"developmentTeam": "FG35JLLMXX4A",
"packageType": "app-store"
}
}
}
Флаги сборки Xcode
Если у вас есть специальная ситуация, в которой вам нужно передать дополнительные флаги сборки Xcode — вы используете один или несколько --buildFlag параметров для передачи этих флагов в xcodebuild. Если вы используете встроенный xcodebuild флаг, будет показано предупреждение. Вы также можете указать параметр buildFlag в build.json выше (значение для ключа buildFlag — строка или массив строк).
cordova build --device --buildFlag="MYSETTING=myvalue" --buildFlag="MY_OTHER_SETTING=othervalue" cordova run --device --buildFlag="DEVELOPMENT_TEAM=FG35JLLMXX4A" --buildFlag="-scheme TestSchemeFlag"
Отладка
Для получения подробной информации об инструментах отладки, поставляемых с Xcode, см. эту статью и это видео.
Открытие проекта в Xcode
Проекты Cordova для iOS можно открыть в Xcode. Это может быть полезно, если вы хотите использовать встроенные инструменты отладки/профилирования Xcode или если вы разрабатываете плагины iOS. Обратите внимание, что при открытии проекта в Xcode рекомендуется НЕ редактировать код в IDE. Это изменит код в папке platforms вашего проекта (а не www), и изменения могут быть перезаписаны. Вместо этого отредактируйте папку www и скопируйте свои изменения, выполнив cordova build.
Разработчики плагинов, желающие редактировать свой нативный код в IDE, должны использовать флаг --link при добавлении своего плагина в проект с помощью cordova plugin add. Это свяжет файлы таким образом, что изменения в файлах плагина в папке platforms будут отражаться в папке исходного кода плагина (и наоборот).
После добавления платформы ios в ваш проект и сборки с помощью cordova build, вы можете открыть его в Xcode. Дважды щелкните, чтобы открыть файл ${PROJECT_NAME}/platforms/ios/${PROJECT_NAME}.xcworkspace, или откройте Xcode из вашего терминала:
$ open -a Xcode platforms/ios
Экран должен выглядеть так:
Рабочий процесс, ориентированный на платформу
cordova-ios включает ряд скриптов, которые позволяют использовать платформу без полного Cordova CLI. Этот путь разработки может предложить вам больший выбор вариантов разработки в определенных ситуациях, чем кроссплатформенный cordova CLI. Например, вам нужно использовать инструменты командной строки при развертывании пользовательской Cordova WebView вместе с нативными компонентами. Прежде чем использовать этот путь разработки, вам все равно необходимо настроить среду SDK, как описано в разделе Требования и поддержка выше.
Для каждого из обсуждаемых ниже скриптов обратитесь к Справочнику по Cordova CLI для получения дополнительной информации об их аргументах и использовании. Каждый скрипт имеет имя, соответствующее команде CLI. Например, cordova-ios/bin/create эквивалентен cordova create.
Для начала загрузите пакет cordova-ios с npm или Github.
Для создания проекта с помощью этого пакета выполните скрипт create в папке bin:
$ cordova-ios/bin/create ...END_OF_DOCUMENT_MARKER
Для запуска приложения, используйте скрипт run в папке bin:
$ cordova-ios/bin/run
Созданный проект будет содержать папку с именем cordova, которая содержит скрипты для команд Cordova, специфичных для проекта (например, run, build и т.д.). Кроме того, структура проекта будет отличаться от обычной структуры проекта Cordova. Отметим, что /www перемещен в папку /assets/www.
Для установки плагинов в этом проекте используйте утилиту Cordova Plugman.
Обновление
Обратитесь к статье здесь за инструкциями по обновлению вашей версии cordova-ios.
(Mac®, OS X®, Apple®, Xcode®, App Store℠, iPad®, iPhone®, iPod® и Finder® являются товарными знаками Apple Inc.)
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/8.x/guide/platforms/ios/index.html