我正在尝试使用 ibtool 进行 iOS 开发(本地化),但是当我从终端运行它时,出现以下错误:
Error: Can't run /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/bin/ibtool (no such file).
是什么赋予了?
对此进行了一些挖掘,并发现了一些对类似问题的良好堆栈响应 - 但没有适用于所有来者的通用解决方案,所以我想我会做一个。:)
问题的原因是:在现代版本的 OSX 中,如果您从 App Store 安装 Xcode,它会像所有其他应用程序一样自行安装 - 这意味着它位于与以往不同的目录中。不幸的是,这具有深远的影响,影响 Xcode 及其命令行工具以及 - 事实上 - 远远超出此问题范围的其他事情。
所以,在他们修复它之前,让我们谈谈解决方法。许多人建议将您的 Xcode 系统变量更改为指向“App Store”文件夹,但我认为这是一种危险的矫枉过正——您只是不知道如果他们修复了路径可能会造成什么样的混乱!
相反,我建议使用终端仅更改影响系统链接ibtool
(或您正在使用的任何工具),如下所示:
推荐解决方案
第一步:删除旧系统链接
sudo rm /usr/bin/ibtool
第 2 步:创建新的系统链接
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool /usr/bin/ibtool
仅供参考,这是另一个可以解决此问题的命令 - 但出于上述原因,我不建议使用它:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
xcode-select
如果你有各种 /Developer 相关的错误,我可以看到这个论点可能是一个正确的解决方案,但在这种情况下,我会在不使用 App Store 的情况下重新安装 Xcode 并从一开始就让它运行良好。
对于我们其他人来说,已经在 App Store 的道路上走得太远了,无法重新做这一切,见上文。
绝对的第一步是让Xcode安装command line tools
. 这样做将使工具进入/usr/bin
- 它已经在您的 PATH 中。转到“ Xcode” :: “Preferences” :: “Downloads” :: “Components”那里应该有一个 install Command Line Tools
。如果没有,请转到“Xcode”::“打开开发者工具”::“更多开发者工具”并下载最新的命令行工具。
当您使用 Xcode 7 时,libtool 位于以下路径中:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
您可以在这里做的只是简单地复制它,然后将其粘贴到错误的指定位置:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool
如果您打算在设备上运行应用程序,您还应该将文件粘贴到以下路径中:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool
如果您没有找到 usr/bin,只需创建一个文件夹并将其命名为 usr,并在其中创建另一个文件夹并将其命名为 bin。将 libtool 粘贴到其中。