Как я могу создать релизную сборку моего голого приложения React Native без использования "expo publish" и отправки обновлений моим пользователям?

Я новичок в разработке React Native. Я создал приложение React Native, используя expo. В итоге я выбросил его на простой рабочий процесс. Пока все хорошо. Мне удалось создать пакет приложений для Android и.ipa для iOS. Я использовал "expo publish" для обновления кода / пакета перед созданием приложения и его развертыванием в обоих магазинах приложений.

Позднее, при дальнейшей разработке приложения, я набрал "expo publish", потому что хотел создать автономный пакет для тестирования сборки выпуска. Я продолжал получать кешированные версии для своих сборок выпуска, и публикация expo, казалось, была единственным, что обновляло мои сборки выпуска. Я не понимал, что это подталкивает всех моих пользователей к обновлению OTA. Я думал, что это просто отправка обновлений на серверы expo, где я мог выбрать или отказаться от обновлений OTA. К счастью, все обошлось.

Теперь я доработал приложение. На iOS сборка отладки в порядке. Однако я не могу получить обновленный пакет при сборке релиза iOS. У меня старый код. Почему? Я не понимаю процесса. Я даже пробовал этот скрипт:

react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets

Я думал, что это собирается собрать новый "обновленный" пакет. Не повезло! Я даже удалил свой файл main.jsbundle из каталога ios и перестроил его, но все еще сохранил старый код.

Я не хочу использовать обновления OTA. Я просто хочу создать отдельное приложение. Что я делаю не так и как мне это обойти? Это был очень неприятный процесс.

1 ответ

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

expo publish --release-channel staging

и аналогично вы можете использовать эти каналы, например

expo build:ios --release-channel staging

Документы выставки хорошо это объясняют: https://docs.expo.io/distribution/release-channels/

Наконец, поскольку вы находитесь в Bare Workflow, просмотрите этот недавний блог команды Expo об обновлениях улучшений OTA.

https://blog.expo.io/over-the-air-updates-from-expo-are-now-even-easier-to-use-376e2213fabf

Вас может заинтересовать строка "Это новое обновление (сборка выпуска) не будет опубликовано автоматически и будет существовать только в том двоичном файле, с которым оно было связано"

OTA-обновления - это здорово, но нужно понимать, как они работают.

Другие вопросы по тегам