Переименование проекта React Native?

84

Есть ли инструкции о том, что нужно изменить, чтобы переименовать проект React Native? У меня есть приложение, которое называется чем-то вроде MyAppIOS, и я хочу переименовать его в MyApp (теперь, когда поддержка Android отсутствует)

Какой-то парень
источник

Ответы:

66

То, как я сделал это для Android (хакерский, но он работает), просто изменил строковое поле app_name в

android/app/src/main/res/values/strings.xml

Он изменит имя вашего установленного приложения для Android на то, что вы указали в качестве значения.

httpNick
источник
1
Большинство должно уловить это, но, к вашему сведению, этот ответ ТОЛЬКО ДЛЯ ANDROID .
chapeljuice
84

Вы можете изменить атрибут name в package.json, запустить react-native upgradeи просто позволить реакции перезаписать файлы android / ios. Однако не перезаписывайте ваши индексные файлы, если есть несохраненный код.

Затем измените строку вашего приложения с

AppRegistry.registerComponent('MyAppIOS', () => MyAppIOS);

Кому:

AppRegistry.registerComponent('MyApp', () => MyApp);
Denixtry
источник
1
Мне также пришлось соответственно переименовать основной класс: class MyApp extends Component {.... и т. Д.
Per Quested Aronsson
4
это не удаляет старые файлы MyAppIOS, поэтому вам также следует сделать: $ rm -rf android/app/src/main/java/com/myappios && rm -rf ios/MyAppIOS*
Нил Саркар,
6
Я думаю, что react-native upgradeэто обновит и вашу систему реагирования, будьте осторожны, потому что это может что-то сломать с вашими зависимостями.
Herlon Aguiar
Мы обнаружили ряд дополнительных шагов, разбросанных по сети - опубликовали полный список (и принимаем запросы на вытягивание!) По адресу: github.com/2MR/renaming-a-react-native-project
Freewalker
42

Что просто работает для меня несколько раз, описано ниже;

  • Сначала скопируйте каталог, в котором существует ваше приложение с предполагаемым изменением имени. И перейдите в свой недавно клонированный каталог.
  • Измените имя в index.ios/android.jsфайле, указанное в качестве параметра, наAppRegistry .
  • Измените название и версию соответственно на package.json
  • удалить /iosи /androidпапки, которые остались от вашего старого приложения, а такжеapp.json файл, если он у вас есть.
  • беги, $react-native upgradeчтобы генерировать /iosи/android снова папки.
  • бежать $react-native link для любой внешней зависимости.
  • наконец-то беги $react-native run-iosили что хочешь.
молочник
источник
1
В новых версиях react native вы также меняете значения в app.json, если я правильно помню.
Кристофер Брэдшоу
4
Да, похоже, что после 0.41 response-native предлагает официальный способ повторно сгенерировать собственные папки /iosи файлы /android. Больше можно проверитьreact-native eject
milkersarac
Хороший источник: medium.com/the-react-native-log/...
gusgard
27

Для iOS также доступен способ изменения настроек xcodeproj.

Покажите <название вашего приложения> -> Info.plist и добавьте отображаемое имя Bundle .

изменение имени приложения iOS:

введите описание изображения здесь

janus_wel
источник
16

Я, вероятно, немного опоздал, но для людей, которые ищут надежное решение, есть пакет npm response -native-rename , который может творить чудеса.

Денис Михаленко
источник
8
  1. Обновите displayName в app.json до нового имени
  2. Удалите каталоги ios / и android / в корневом проекте
  3. В командной строке Выполнить:

    react-native eject
    react-native link 
    
Мохаммадреза Занди
источник
7

Вы также можете проверить пакет npm ( response-native-rename ):

Применение:

реагировать-native-rename <новое имя>

Он отлично подходит для моего проекта.

ЦТИПКА
источник
В моем приложении эта команда удаляет мои файлы java в android / app / src / main / java / com / appname!
Джонси
ВНИМАНИЕ: Не используйте эту библиотеку. это испортит ваш проект. Никогда не используйте это.
MRSafari
6

Вы можете использовать react-native-renameпакет npm.

npm install react-native-rename
react-native-rename [newName]

https://www.npmjs.com/package/react-native-rename

Joao Pedro Leite S Lisboa
источник
1
Ссылка на решение приветствуется, но убедитесь, что ваш ответ полезен и без нее: добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели некоторое представление, что это такое и почему оно есть, а затем процитируйте наиболее релевантную часть страницы, которую вы повторная ссылка на, если целевая страница недоступна. Ответы, которые представляют собой не более чем ссылку, могут быть удалены.
Filnor
Кроме того, вы должны писать свои ответы только на английском языке, так как это сайт только на английском языке. Для португальского языка перейдите на pt.stackoverflow.com
Филнор
3
ВНИМАНИЕ: Не используйте эту библиотеку. это испортит ваш проект. Никогда не используйте это.
MRSafari
@MRSafari -1, отлично сработал для меня на катапультированном (неэкспо) проекте
Крис Шеррифф
@MRSafari Вот почему есть git?
iRohitBhatia
5

Попробуйте использовать react-native-renameбиблиотеку от npm. Работает как шарм

Дивье Шах
источник
1
Это действительно комментарий, а не ответ. Как только у вас будет достаточная репутация, вы сможете комментировать любой пост ; вместо этого предоставьте ответы, которые не требуют пояснений от спрашивающего .
Peacetype
5
  1. Для приложения IOS также доступно изменение настроек xcodeproj.

Откройте Info.plistфайл из directory/ios/{appname}каталога вашего проекта и измените отображаемое имя Bundle.

<key>CFBundleDisplayName</key>
<string>NEW APP NAME</string>
  1. Для приложения Android вы можете изменить папку Android в каталоге вашего проекта.

    cd android/app/src/main/res/values/

откройте strings.xmlфайл и измените имя приложения в

 <string name="app_name">NEW APP NAME</string>
Harpreet Cheema
источник
4

Как уже упоминалось здесь ( https://github.com/facebook/react-native/issues/4227 ), вам не нужно добавлять Bundle display nameключ, как сказал @janus_wel.

Вы можете просто обновить Bundle nameс $(PRODUCT_NAME)до My App.

Шивек Хурана
источник
Это единственное решение, которое у меня сработало. Я добавил настройку сборки под названием CUSTOM_DISPLAY_NAME (для поддержки разных имен приложений для отладки и выпуска), а затем просто обновил ее Bundle nameдо$(CUSTOM_DISPLAY_NAME)
Кевин Купер,
1
  • Прежде всего скопируйте адрес, по которому существует ваше приложение с измененным именем. И перейдите в свой недавно клонированный каталог.

  • Замените имя в файле index.ios / android.js, которое передается в качестве параметра AppRegistry.

  • обновите имя и версию соответственно в package.json, удалите папки / ios и / android, которые остались от вашего старого приложения и от

  • запустите обновление $ response-native, чтобы снова создать папки / ios и / android. и запустите ссылку $ response-native для любой внешней зависимости.

  • наконец, запустите $ response-native run-ios или другое.

Poojagarg
источник
1

На всякий случай Ни одно из решений не помогло вам или попытка что-то сломала ваше приложение. Это основы.

  1. Запустите новый проект, поддерживающий реакцию, с любым именем, на которое вы хотите изменить свое приложение.
  2. Скопируйте список зависимостей из предыдущего проекта в новый package.json
  3. Скопируйте старые файлы проекта, сохраняя ту же структуру.
  4. Бежать npm install
  5. Бежать react-native run-android

Это должно вернуть вас в нужное русло

Сартак Двиведи
источник
0

Решение сработало для меня: сначала измените имя папки вашего проекта, ориентированного на реакцию, а затем

npm install react-native-rename

react-native-rename newName

Меня устраивает

Ахзар Назир
источник
0

Переименуйте приложение, поддерживающее реакцию, с помощью одной команды response-native-rename

Установка

yarn global add react-native-rename или же npm install react-native-rename -g

Использование: выполните следующую команду в каталоге проекта.

react-native-rename <newName>

Пример:

react-native-rename "Travel App"

Кассем Итани
источник
0

Следующие шаги необходимо выполнить при переименовании проекта / приложения в react Native 1. создать новую папку test.

  1. Скопируйте и вставьте все файлы из демо в тестовую папку

  2. Измените имя в файле package.json

  3. Измените имя в файле package-lock.json

  4. Измените имя в файле App.json

  5. Удалить папки / ios и / android

  6. Запустите команду response-native eject, чтобы снова создать папки / ios и / android

  7. запустите реакцию на родную ссылку для любой внешней зависимости.

  8. наконец, запустите приложение, используя команду run-android для реакции.

Для получения дополнительной информации посетите https://youtu.be/_lgH9LXf818

доктор Чандра Кант Шарма
источник