Flutter App IOS Build 💫 🌌 ✨

IOS Build:

Xcode необходим для создания и публикации вашего приложения. Для выполнения этого руководства необходимо использовать устройство под управлением macOS.

Шаги:
1.) Создайте BundleId (из учетной записи разработчика)
2.) Регистрация приложения в App Store Connect.
3.) Создайте архив сборки с помощью Xcode или Codemagic CLI.
4.) Публикация приложения в App Store.

Зарегистрируйте свое приложение в App Store Connect:
Управляйте жизненным циклом своего приложения в App Store Connect<###code> (ранее iTunes Connect). В App Store<###code> и TestFlight<###code> вы определяете название и описание своего приложения, добавляете скриншоты, устанавливаете цены и управляете релизами.

Регистрация приложения состоит из двух этапов:
1.) Регистрация уникального идентификатора пакета.
2.) Создайте регистрацию приложения в App Store Connect.

Зарегистрируйте идентификатор пакета:

Каждое приложение для iOS связано с Bundle ID<###code>, уникальным идентификатором, зарегистрированным в Apple.

- Откройте страницу App IDs вашей учетной записи разработчика.
- Нажмите +, чтобы создать новый Bundle ID.
- Введите имя приложения, выберите Explicit App ID и введите ID.
- Выберите службы, которые использует ваше приложение, а затем нажмите кнопку Продолжить.
- На следующей странице подтвердите данные и нажмите кнопку Зарегистрировать, чтобы сохранить идентификатор пакета.

Чтобы зарегистрировать приложение в App Store Connect:

- Откройте App Store Connect в своем браузере.
- На целевой странице App Store Connect нажмите My Apps.
- Нажмите кнопку + в левом верхнем углу страницы My Apps, затем выберите New App<###code>.
- Введите данные о вашем приложении в открывшуюся форму. В разделе Платформы убедитесь, что отмечен флажок iOS<###code>. В настоящее время Flutter не поддерживает tvOS, поэтому оставьте этот флажок не отмеченным. Нажмите Создать.
- Перейдите в область application details вашего приложения и выберите App Information на боковой панели.
- В разделе General Information выберите Bundle ID, который вы сохранили в предыдущем шаге.

Просмотрите настройки проекта Xcode:

Этот шаг включает в себя просмотр наиболее важных настроек в рабочем пространстве Xcode.

- В Xcode перейдите в настройки цели:
- В Xcode откройте Runner.xcworkspace в папке iOS вашего приложения.
- Выберите проект Runner в проводнике проектов Xcode, чтобы просмотреть настройки приложения. Затем выберите область Runner в боковой панели. Выберите вкладку Общие.

Проверьте наиболее важные настройки:

В разделе Идентификация:

Отображаемое имя : Отображаемое имя вашего приложения.

Идентификатор пакета : Идентификатор App ID, который вы зарегистрировали в App Store Connect.

Раздел "Подписание и возможности":

Автоматически управлять подписанием: Должен ли Xcode автоматически управлять подписанием и инициализацией приложений. Это значение по умолчанию true и должно быть достаточным для большинства приложений.

Команда: Выберите команду, связанную с вашей зарегистрированной учетной записью разработчика Apple. При необходимости выберите Добавить учетную запись, а затем обновите этот параметр.

В разделе Настройки сборки:

iOS Deployment Target : Минимальная версия iOS, которую поддерживает ваше приложение. Flutter поддерживает iOS 9.0 и более поздние версии. Если ваше приложение или плагины содержат код Objective-C или Swift, который использует API более новой версии, чем iOS 9, обновите этот параметр до самой высокой требуемой версии.

Обновите версию развертывания приложения:

Если вы изменили поле Deployment Target в вашем проекте Xcode, откройте ios/Flutter/AppframeworkInfo.plist в вашем приложении Flutter и обновите значение MinimumOSVersion.

Обновите номер версии приложения:

Номер версии приложения по умолчанию - 1.0.0. Чтобы обновить его, перейдите в файл pubspec.yaml и обновите следующую строку:

version: 1.0.0+1

Номер версии - это три числа, разделенные точками, как 1.0.0 в примере выше, за которым следует необязательный номер сборки, как 1 в примере выше, разделенный знаком +.

В сборке Flutter и версия, и номер сборки могут быть переопределены путем указания --build-name<###code> и --build-number<###code> соответственно.

В iOS, -build-name использует CFBundleShortVersionString, а -build-number использует CFBundleVersion.

Добавьте значок приложения:
В навигаторе проектов Xcode выберите Assets.xcassets в папке Runner. Обновите значки-заполнители собственными значками приложений.

Запустите ваше приложение с помощью flutter run и убедитесь, что значок изменился.

Создание архива сборки с помощью Xcode

Когда вы будете готовы отправить свое приложение пользователям в App Store или TestFlight, вам нужно подготовить релизную сборку.

Настройте версию приложения в Xcode и создайте

  1. В Xcode откройте Runner.xcworkspace в папке iOS вашего приложения.

  2. В проводнике проекта Xcode выберите Runner, затем выберите цель Runner в боковой панели представления настроек.

  3. В разделе Identity обновите Version до номера версии для пользователя, для которого вы хотите опубликовать.

  4. В разделе Identity обновите идентификатор сборки уникальным номером сборки, используемым для отслеживания этой сборки в App Store Connect. Для каждой установки требуется уникальный номер сборки build number.

Наконец, создайте архив build archive и загрузите его в App Store Connect:

1.Запустите flutter build ipa для создания архива сборки.

  1. Откройте build/ios/archive/MyApp.xcarchive в Xcode.

3.Нажмите кнопку Validate App. Если сообщается о каких-либо проблемах, устраните их и создайте другую сборку. Вы можете повторно использовать один и тот же build ID до тех пор, пока не загрузите архив.

  1. После того как архив будет успешно проверен, нажмите Distribute App. Вы можете отслеживать статус вашей сборки на вкладке Activities на странице подробностей вашего приложения в App Store Connect.

Примечание: Когда вы экспортируете свое приложение в конце Distribute App, Xcode создает каталог, содержащий IPA вашего приложения и файл ExportOptions.plist.

Вы можете создать новые IPA с теми же опциями без запуска Xcode, запустив Flutter build ipa --export-options-plist=path/to/ExportOptions.plist.

В течение 30 минут вы получите электронное письмо, уведомляющее вас о том, что ваша сборка была проверена и готова к тому, чтобы стать доступной для тестировщиков в TestFlight. На этом этапе вы можете выбрать публикацию в TestFlight или публикацию приложения в App Store.

Чтобы создать архив сборки с помощью инструментов Codemagic CLI:

Этот шаг включает создание архива сборки и загрузку вашей сборки в App Store Connect с помощью команд сборки Flutter и Codemagic CLI Tools, выполняемых в терминале в каталоге проекта Flutter. Это позволяет создать архив сборки с полным контролем сертификатов распространения с временной связкой ключей, изолированной от связки ключей входа.

  1. Установите инструменты Codemagic CLI:

  2. Чтобы автоматизировать операции с App Store Connect, необходимо создать App Store Connect API Key с доступом App Manager. Чтобы сделать последующие команды короче, установите следующие переменные окружения нового ключа: идентификатор эмитента, идентификатор ключа и файл ключа API.

export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
Войдите в полноэкранный режим Выход из полноэкранного режима
  1. Чтобы закодировать и упаковать архив сборки, необходимо экспортировать или сгенерировать сертификат iOS Distribution.

Если у вас есть существующие сертификаты, вы можете экспортировать закрытый ключ, выполнив следующую команду для каждого сертификата:

openssl pkcs12 -in <certificate_name>.p12 -nodes -nocerts | openssl rsa -out cert_key
Войдите в полноэкранный режим Выход из полноэкранного режима

Или вы можете создать новый закрытый ключ, выполнив следующую команду:

ssh-keygen -t rsa -b 2048 -m PEM -f cert_key -q -N ""

Затем вы можете заставить инструменты CLI автоматически создать новый iOS Deployment на основе закрытого ключа.

  1. Установите новый временный брелок, который будет использоваться для подписания кода:keychain initialise

затем запустите это:

Это устанавливает ваш login keychain<###code> (связка ключей для входа) по умолчанию, чтобы избежать возможных проблем с аутентификацией в приложениях на вашей машине.

5. Извлеките файлы подписи кода из App Store Connect:


app-store-connect fetch-signing-files $(xcode-project detect-bundle-id) 
    --platform IOS 
    --type IOS_APP_STORE 
    --certificate-key=@file:/path/to/cert_key 
    --create
Войдите в полноэкранный режим Выход из полноэкранного режима

Здесь cert_key - экспортированный закрытый ключ сертификата iOS Distribution или новый закрытый ключ, который автоматически генерирует новый сертификат. Сертификат будет сгенерирован из закрытого ключа, если он не существует в App Store Connect.

  1. Добавьте импортированные сертификаты в связку ключей:

  2. Обновите настройки проекта Xcode для использования найденных профилей подписи кода:

  3. Установите зависимости Flutter:

9.Установите зависимости CocoaPods:

найти . -name "Podfile" -execdir pod install ;

  1. Создайте проект Flutter iOS:
flutter build ipa --release 
    --export-options-plist=$HOME/export_options.plist
Войдите в полноэкранный режим Выход из полноэкранного режима

Обратите внимание, что export_options.plist - это вывод команды xcode-project use-profiles.

11.Опубликуйте приложение в App Store Connect:

app-store-connect publish 
    --path $(find $(pwd) -name "*.ipa")
Войдите в полноэкранный режим Выход из полноэкранного режима
  1. Как упоминалось ранее, не забудьте установить связку ключей для входа в систему по умолчанию, чтобы избежать проблем с аутентификацией в приложениях на вашей машине:keychain use-login<###code>.

В течение 30 минут вы получите электронное письмо с уведомлением о том, что ваша сборка была проверена и готова к тестированию на TestFlight. На этом этапе вы можете выбрать публикацию в TestFlight или публикацию приложения в App Store.

Опубликуйте свое приложение в TestFlight:

TestFlight позволяет разработчикам экспортировать свои приложения для внутренних и внешних тестировщиков. Этот необязательный шаг включает публикацию вашей сборки на TestFlight.

  1. В App Store Connect перейдите на вкладку TestFlight на странице сведений о приложении.

  2. Выберите Внутреннее тестирование на боковой панели.

  3. Выберите сборку для публикации тестировщикам, а затем нажмите Сохранить.

  4. Добавьте адреса электронной почты всех внутренних тестировщиков. Вы можете добавить дополнительных внутренних пользователей на странице Пользователи и роли App Store Connect, доступной из выпадающего меню в верхней части страницы.

Опубликуйте свое приложение в App Store:

  1. На боковой панели страницы сведений о приложении в App Store Connect выберите Ценообразование и доступность и заполните необходимую информацию.

  2. Выберите статус на боковой панели. Если это первая версия данного приложения, статус 1.0 - Готовится к представлению. Заполните все необходимые поля.

  3. Нажмите кнопку Отправить на рассмотрение.

Apple уведомит вас о завершении процесса рассмотрения приложения. Ваше приложение публикуется в соответствии с инструкциями, которые вы указали в разделе "Выпуск версии".

ресурс

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *