Простой способ обновления вашего приложения React Native

Итак, у вас есть Реагировать на родной приложение, да? Но это старая версия, и вам нужно обновить ее до последней? Поверь мне, это боль в твоей знаешь что если у вас много версий позади. Моя компания поставила передо мной задачу обновить наше приложение с версии 0.44.0 до последней (v 0.57.0).

Вот базовая версия того, что вам нужно сделать:

1. Просмотрите примечания к выпуску React Native и найдите критические изменения между вашей версией и целевой версией.
2. Проверьте все свои пакеты/библиотеки, чтобы убедиться, что они будут работать с новой целевой версией React Native. При необходимости обновите библиотеки.
3. Используйте доступные инструменты для обновления.

Официальная документация React Native предлагает вам использовать react-native-git-upgrade . Но я обнаружил много проблем в Интернете с другими разработчиками после его использования, например, конфликты в project.pbxproj файл, Unable to open .xcodeproj file и тому подобное.

Есть репо rn-diff который я нашел очень простым в использовании. Я использовал этот метод для обновления нашего приложения. В этом репозитории есть таблица, в которой показано сравнение изменений файлов между двумя ближайшими версиями, а также файл исправления для обновления.

Вот как это использовать.

Вы можете просмотреть сравнение и изменить содержимое вручную или использовать предоставленный файл исправления.

Я рекомендую вам обновлять одну версию за раз.

Когда вы будете искать сравнение между версиями, вы обнаружите, что большинство изменений просто увеличивают react-native а также react версия на package.json файл. Просто измените версию и запустите yarn install .

Например, если вы находитесь на версии 0.54.0 и вам нужно обновить его до версии 0,54,4 то вы уже знаете, что делать.

Теперь ты на v0.54.4 и вам нужно обновить до v0.55.0 , вы увидите изменения в 7 файлах. Либо вы вносите изменения в эти файлы вручную, либо лучше выполните следующие шаги:

Предполагая, что вы все еще находитесь внутри своего проекта и в своем терминале:

  1. Загрузите файл исправления
$ curl [ > upgrade-rn.patch

Он загружает файл патча (он отличается для разных версий, поэтому вам нужно будет предоставить конкретную ссылку из таблицы) с именем файла обновление-rn.patch.

  1. Подготовьте патч

Патч сделан для RnDiffApp, расположенного в RnDiffApp папка этого репозитория. Чтобы использовать его в собственном репозитории, необходимы некоторые изменения.

Вы можете либо заменить RnDiffApp с вашим Имя приложения на обновление-rn.patch файл вручную или используйте следующие команды, чтобы сделать это автоматически:

$ appNameCamelCase=MyApp
$ appNameLowerCase=myapp
$ sed -i "" "s-ios/RnDiffApp-ios/${appNameCamelCase}-" upgrade-rn.patch
$ sed -i "" "s-java/com/rndiffapp-java/com/${appNameLowerCase}-" upgrade-rn.patch

sed это unix-команда. Над s-ios/RnDiffApp-ios/${appNameCamelCase}- от sed команда заменяет все вхождения ios/RnDiffApp по ios/MyApp а другая команда похожа на android.

  1. Настройте трехстороннее слияние

По умолчанию в случае конфликтов git apply команда завершится ошибкой и оставит файлы нетронутыми. Было бы интересно отказаться от трехстороннего слияния (опция --3way), чтобы разрешить конфликты с вашим любимым инструментом слияния.

Для этого git должен знать блоб, на который ссылается патч. Поэтому вам нужно добавить rn-diff в качестве удаленного репозитория и получить его.

$ git remote add rn-diff 
$ git fetch rn-diff
  1. Применить патч
$ git apply upgrade-rn.patch --exclude=package.json -p 2 --3way

-p 2 говорит Git игнорировать подпапку при применении исправления.

Здесь package.json файл исключен, поэтому вам придется вручную редактировать этот файл.

$ yarn install

Кроме того, будет лучше, если вы перекомпонуете свои родные библиотеки.

После этого процесса запустите приложение для обеих платформ.

PS: Как вы видете, закругленные значки приложений был введен для Android в версии 0.56.0. Вы можете получить ошибку при попытке применить патч для v0.55.4-v0.56.0. Я бы порекомендовал вам удалить патч для значков приложений из файла патча и применить его. Позже вы можете использовать свой собственный округлый значок для своего приложения для Android.

Вуаля! теперь ваше приложение обновлено. 🎉🎉🎉

Похожие записи

Добавить комментарий

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