尝试执行react-native run-ios
时出现以下错误(请参见下面的屏幕截图)。我已经检查了this answer以及github thread,但都没有帮助。
关于要查看什么或如何使其工作的任何想法?问题似乎是孤立的ios,因为Android模拟器工作正常。看起来可能是facebook代码的某种错误。
答案 0 :(得分:4)
我用以下解决方案解决了这个问题:
修改<your_project_folder>/ios/<project_name>/AppDelegate.m
并按如下方式更改jsCodeLocation
变量:
jsCodeLocation =
[NSURL URLWithString:@"http://127.0.0.1:8081/index.ios.bundle?platform=ios&dev=true"];
答案 1 :(得分:3)
对于那些仍然感兴趣的人,我只是通过运行
解决了这个问题values
在当前终端窗口中启动打包器并在其他终端窗口中运行
react-native start
答案 2 :(得分:2)
当我在不同的计算机上处理相同的react-native项目时,这种情况发生在我身上。关闭模拟器并删除ios > build
文件夹,然后再次运行react-native run-ios
就可以解决它。
答案 3 :(得分:1)
开发时我也遇到了这个错误。在模拟器中尝试这个解决方案:
按住shift + cmd + H两次以显示正在运行的应用程序
然后向上滑动您要删除的应用。
点击您的应用。
这对我有用,在查看了无数的解决方案后,这实际上是我需要做的!希望这会有所帮助。
答案 4 :(得分:0)
在模拟器运行后尝试此操作:
npm install
react-native run-ios
答案 5 :(得分:0)
对我来说,我没有安装守望者。要检查是否已安装,可以从终端运行brew list
。如果您没有看到列出的守望者,只需运行brew install watchman
。
注意:如果在安装过程中出现此错误:
Error: Xcode alone is not sufficient on Sierra.
Install the Command Line Tools:
xcode-select --install
您需要安装Xcode命令行工具。所以,从您的终端运行xcode-select --install
。安装完工具后,您需要重新运行brew install watchman
。然后,您应该可以通过运行react-native run-ios
来启动项目。
答案 6 :(得分:0)
原因是因为iOS内的文件main.js捆绑不是某个时候生成的,而是某个错误生成的。要解决此问题,请执行以下步骤:
在package.json脚本中添加以下行
"build:ios": "react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'"
然后运行以下命令:
yarn build:ios or npm run build:ios
打开您的Xcode选择项目,然后单击项目名称进入构建界面,然后单击复制构建资源作为main.js捆绑包