Публикация в Apple App Store
Процесс публикации такой же, как и для других нативных приложений iOS, с некоторыми дополнительными моментами.
Если вы используете Expo, прочитайте руководство Expo по развёртыванию в магазинах приложений, чтобы создать и отправить ваше приложение в Apple App Store. Это руководство работает с любыми приложениями React Native, автоматизируя процесс развёртывания.
1. Включите App Transport Security
App Transport Security — это функция безопасности, представленная в iOS 9, которая отклоняет все запросы HTTP, которые не отправляются по HTTPS. Это может привести к блокировке HTTP-трафика, включая сервер разработчика React Native. ATS по умолчанию отключена для localhost в проектах React Native для упрощения разработки.
Перед созданием приложения для производства необходимо снова включить ATS, удалив запись localhost из словаря NSExceptionDomains и установив NSAllowsArbitraryLoads в false в вашем файле Info.plist в папке ios/. Вы также можете повторно включить ATS в Xcode, открыв свойства вашего целевого приложения в области «Информация» и отредактировав запись «Настройки безопасности App Transport».
Если вашему приложению требуется доступ к HTTP-ресурсам в производстве, узнайте, как настроить ATS в вашем проекте.
2. Настройка схемы выпуска
Для создания приложения для распространения в App Store необходимо использовать схему Release в Xcode. Приложения, созданные для Release, автоматически отключат внутриприложение меню разработчика, что предотвратит несанкционированный доступ к нему пользователями в производстве. Также будет скомпилирован JavaScript локально, так что вы сможете установить приложение на устройство и тестировать его без подключения к компьютеру.
Чтобы настроить приложение для создания по схеме Release, перейдите к Product → Scheme → Edit Scheme. Выберите вкладку Run в боковой панели, затем установите раскрывающийся список Build Configuration в значение Release.
Рекомендации для продвинутых
По мере увеличения размера пакета приложения вы можете начать замечать вспышку пустого экрана между экраном загрузки и отображением основного представления вашего приложения. В этом случае вы можете добавить следующий код в AppDelegate.m, чтобы сохранить экран загрузки во время перехода.
// Place this code after "[self.window makeKeyAndVisible]" and before "return YES;" UIStoryboard *sb = [UIStoryboard storyboardWithName:@"LaunchScreen" bundle:nil]; UIViewController *vc = [sb instantiateInitialViewController]; rootView.loadingView = vc.view;
Статический пакет создаётся каждый раз, когда вы нацеливаетесь на физическое устройство, даже в режиме отладки. Если вы хотите сэкономить время, отключите генерацию пакета в режиме отладки, добавив следующее в ваш скрипт оболочки в фазе сборки Xcode Bundle React Native code and images:
if [ "${CONFIGURATION}" == "Debug" ]; then
export SKIP_BUNDLING=true
fi
3. Сборка приложения для выпуска
Теперь вы можете собрать приложение для выпуска, нажав ⌘B или выбрав Product → Build из строки меню. После сборки для выпуска вы сможете распространить приложение среди бета-тестеров и отправить его в App Store.
Вы также можете использовать React Native CLI для выполнения этой операции, используя опцию --configuration со значением Release (например, npx react-native run-ios --configuration Release).
После завершения тестирования и готовности к публикации в App Store, следуйте этому руководству.
- Запустите терминал, перейдите в папку iOS вашего приложения и введите
open .. - Дважды щелкните YOUR_APP_NAME.xcworkspace. Это должно запустить Xcode.
- Нажмите
Product→ArchiveУбедитесь, что устройство установлено на "Любое устройство iOS (arm64)".
Проверьте идентификатор вашего пакета и убедитесь, что он точно совпадает с идентификатором, созданным в разделе "Идентификаторы" в панели управления Apple Developer.
- После завершения архивации в окне архива нажмите
Distribute App. - Нажмите
App Store Connect(если вы хотите опубликовать в App Store). - Нажмите
Upload→ Убедитесь, что все флажки выбраны, нажмитеNext. - Выберите
Automatically manage signingилиManually manage signingв зависимости от ваших потребностей. - Нажмите
Upload. - Теперь вы можете найти его в App Store Connect в разделе TestFlight.
Теперь заполните необходимую информацию и в разделе "Сборка" выберите сборку приложения и нажмите Save → Submit For Review.
© 2022 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://reactnative.dev/docs/publishing-to-app-store