我正在遵循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运行应用程序时,一切正常。

有什么建议吗?


查看这个链接(运行react-native run-ios发生错误?)似乎是命令行工具的位置有问题。

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


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

通过命令行

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

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

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

xcode-select --install

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

sudo xcodebuild -license accept 

通过Xcode

或者通过Xcode调整命令行工具设置(Xcode > Preferences > Locations):


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

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并进入Preferences >> Locations并设置命令行工具…

这在MAC High Sierra, Xcode Version 9.3中非常有效:

按i打开iOS模拟器…

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


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


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

kill Simulator进程

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

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

在启动包之前打开模拟器

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

打开一个模拟器;npm开始

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


进入Xcode首选项 定位location选项卡 在给定的命令行工具中设置Xcode版本

现在,它将成功工作。


在Mac中:毕竟,你会得到这个问题,可能有机会在系统首选项中错过以下选项->网络->以太网->选择高级->代理

添加下面这行,

* .local,本地主机


对于任何此类问题:

进入。expo文件夹 找到apk-cache 删除文件夹

然后你就完成了。

希望有帮助?


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

更新到包中的react-native的最新版本。Json文件将不再尝试使用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,在右边的下拉菜单中选择您的设备并按下“Run”图标。

Xcode截图