从终端运行React原生应用程序时出错(iOS)

我正在遵循React Native官方网站上的教程。

使用以下来构建我的项目:

react-native run-ios

我得到了错误:

Found Xcode project TestProject.xcodeproj
xcrun: error: unable to find utility "instruments", not a developer
tool or in PATH


Command failed: xcrun instruments -s
xcrun: error: unable to find utility "instruments", not a developer
tool or in PATH

虽然,当我从.xcodeproj运行应用程序时,一切正常。

有什么建议吗?

131161 次浏览

查看这个链接(运行react-native run-ios发生错误?)。Command line tools的位置似乎有问题。

在Xcode中,选择Xcode菜单,然后首选项,然后位置选项卡。从下拉菜单中选择你的Xcode版本,然后退出Xcode。

XCode location tab

你可能需要安装或设置Xcode命令行工具的位置。

通过命令行

如果你下载了Xcode,你可以运行以下命令来设置路径:

sudo xcode-select -s /Applications/Xcode.app

如果命令行工具还没有安装,你可能需要先运行这个:

xcode-select --install

在安装命令行工具之前,你可能需要接受Xcode许可:

sudo xcodebuild -license accept

通过Xcode

或者通过Xcode (Xcode > Preferences > Locations)调整Command Line Tools设置:

Xcode preferences - Locations tab

在我第一次安装之后,我必须接受XCode许可,然后才能运行它。您可以执行以下命令,通过命令行获取许可证提示符。你必须输入agree并确认。

sudo xcodebuild -license

在我的例子中,问题是Xcode没有安装。

对于那些像我一样在更新Xcode后带着这个问题来到这个页面,但位置设置没有问题的人来说,重新启动我的电脑就成功了。

在我的例子中,SDKROOT环境变量是错误的,它引用了旧版本的iPhoneOSxx.x.sdk。(也许这个问题会在重启后自动解决?)

你可以通过运行echo $SDKROOT来检查它是否是有效的路径。

我通过更新.bash_profile来修复它:

export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk

对我来说,原来有一个iOS系统更新等待重新启动计算机。重新启动并让更新完成解决了我的问题。

默认情况下,安装Xcode命令行后未选中,因此打开Xcode并进入首选项>>位置并设置命令行工具

这适用于我在MAC高海拔Xcode版本9.3:

Xcode Preferences

i打开iOS模拟器

按a打开Android设备或模拟器,或按i打开iOS模拟器。 < / >

你可以看到一个很酷的新iPhone模拟器,如下图:

React Native prints, I'm Alireza Dezfoolian, a Front End Developer! < / >

问题是你的Xcode版本没有在命令行工具上设置,要解决这个问题,打开Xcode>菜单>首选项>位置>这里的命令行工具选择你的Xcode版本,就是这样。enter image description here

这些方法对我来说都没用。这两个类似的问题提供了临时解决方案,似乎模拟器进程没有正确关闭:

kill Simulator进程

https://stackoverflow.com/a/52533391/11279823

  1. 退出模拟器&Xcode。
  2. 打开Activity monitor,选择cpu选项并搜索sim,杀死结果中显示的所有进程。
  3. 然后启动终端并运行sudo xcrun simctl erase all。它将删除所有模拟器的所有内容。根据内容,如果你登录到某个地方,密码将消失,安装在模拟器中的所有开发者应用程序也将消失。

在启动包之前打开模拟器

https://stackoverflow.com/a/55374768/11279823

open -a Simulator; npm start

希望能找到一个永久的解决方案。

  1. 进入Xcode首选项

  2. 定位位置选项卡

  3. 在给定命令行工具中设置Xcode版本

现在,它将成功工作。

在Mac中:毕竟,你得到这个问题,可能有机会在系统设置 -> 网络 -> 以太网 ->选择先进的 -> 代理

添加下面这行,

*。local, localhost

对于任何此类问题:

  1. 进入.expo文件夹
  2. 找到apk-cache
  3. 删除文件夹

然后你就完成了。

希望有帮助?

对于在Xcode 13中遇到这种情况的任何人(比如我)来说,instruments命令已被删除。

在你的package.json文件中更新到最新版本的react-native将不再尝试使用instruments命令。

这就是我得到答案的方法,

> rm -rf ~/Library/Developer/Xcode/DerivedData
> sudo rm -rf /Library/Developer/CommandLineTools
> xcode-select --install
> sudo xcodebuild -license accept

Xcode祝辞偏好比;位置比;命令行工具选择。

去Xcode

点击Xcode从左上角菜单 Xcode→选项→单击命令行选项并设置Xcode版本

如果前面的答案没有帮助你,你可能正在处理一个过时的react-native版本。如果你想在不升级React-Native的情况下在设备上运行应用,你必须直接从Xcode中运行应用,而不是在CLI中运行。所以打开<appname>.xcworkspace,在右边的下拉菜单中选择你的设备,然后按“运行”键。图标。

Xcode截图