如何在React Native项目中重新生成ios文件夹?

Tam*_*ine 62 xcode ios react-native react-native-ios

不久前我在我的本机应用程序中删除了/ ios目录(让我们称之为X).我一直在开发和测试使用Android模拟器,但现在我想确保它适用于ios与xcode模拟器等.

所以我目前的想法是用ios文件夹创建一个新的反应原生裸项目(让我们称之为Y),然后按照这些步骤重命名Y,使其名称为X,然后将/ ios目录从Y移动到X和试图run-ios.

我会在这里更新一下,但我想知道是否有更好的方法并且之前没有人遇到过这种情况?

我已经google了很多东西'重新生成ios文件夹''删除了ios文件夹''将ios文件夹添加到现有文件中'并且没有任何帮助.也许我的googlefu不够好,但如果有人有任何建议,非常感谢.

第2步将确保它由于依赖和东西而编译,但是现在我的目标是在项目中恢复/ ios文件夹,并让React Native知道它的存在(它具有所有必要的配置).

谢谢

mil*_*rac 103

您需要遵循的过程与重命名本机应用程序非常相似.基本上你只需要react-native upgrade在你的根项目目录中运行.有关详细信息,您可以在此处查看其他问题.下面的说明解释了如何基于具有新名称的复制项目创建另一个反应本机项目.

  • 首先复制您的名称更改的应用程序所在的目录.然后转到新克隆的目录.
  • index.ios/android.js文件名更改为AppRegistry的参数.
  • 相应地更改名称和版本 package.json
  • 删除/ios/android它们从旧的应用程序其余文件夹.
  • 再次运行$react-native upgrade生成/ios/android文件夹.
  • 运行$react-native link任何本机依赖项.
  • 最后运行$react-native run-ios或任何你想要的东西.

  • @wmcbain我使用`react-native upgrade`的原因只是重新生成`/ ios`和`/ android`项目文件夹.它没有更改/更新/升级反应本机版本,因为它的名称可能暗示.但是,如果您想要更改项目的react本机版本,我会发现`react-native-git-upgrade`更合适. (15认同)
  • 不建议再使用`react-native upgrade`,它应该替换为`react-native-git-upgrade`. (5认同)
  • react-native eject对我有用而不是升级,...其余步骤相同. (3认同)

Khu*_*ari 45

只需删除/删除android和ios文件夹(保留备份)并运行以下命令:

  react-native eject

Supported version : 
    react-native <= 0.59.10
    react-native-cli <= 1.3.0 



   react-native upgrade --legacy true

Supported version : 
        react-native >= 0.59.10
        react-native-cli >= 1.3.0 
Run Code Online (Sandbox Code Playgroud)

  • 从React Native 0.60开始,“ react-nativeject”似乎已被删除。我的“ react-native-cli”是版本“ 2.0.1”。 (5认同)
  • `upgrade --legacy` 似乎也被删除了。`错误:未知选项--legacy` (4认同)
  • “ react-native upgrade”(或“ react-native-git-upgrade`”)都对我不起作用。简单地运行`react-nativeject`效果很好。谢谢! (2认同)
  • 看起来这两个选项都已被删除。现在的建议是初始化一个新项目并手动复制文件。例如`npx react-native init YourProjectName` (2认同)
  • 编辑后的评论(安装react-native-eject...cli...并执行弹出)对我有用 (2认同)

小智 25

注意从react-native 0.60.x开始,您可以使用以下代码重新生成ios / android目录:

react-native upgrade --legacy true
Run Code Online (Sandbox Code Playgroud)

信用在这里:https//github.com/facebook/react-native/issues/25526

  • 这在 0.61.5 上不起作用:`错误:未知选项'--legacy'` (5认同)

Aro*_*sha 7

工作步骤2021

  • 删除/ios /android
  • 将应用程序名称更改为新名称/app.jsonpackage.json
  • 运行npx react-native upgrade- 即使没有生成平台文件,这也很重要。
  • 创建一个单独的目录并npx react-native init NewProjectName在那里运行。
  • 将 ios 和 android 文件夹从生成的项目复制到旧项目
  • 在旧项目pod install中运行/ios
  • 跑步cd .. && npx react-native run-ios