iphone的构建错误让我想买一把钉子枪

iphone的构建错误让我想买一把钉子枪,iphone,xcode,build,Iphone,Xcode,Build,我只是尝试为iphone应用程序构建一个简单的更新(我以前做过),但现在由于某种原因,我遇到了这个错误。有人能告诉我这是什么意思吗 Command/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copyplist failed with exit code 127 sh: plutil: command not found 以下是构建结果: CopyPNGFile /Users/me/pa

我只是尝试为iphone应用程序构建一个简单的更新(我以前做过),但现在由于某种原因,我遇到了这个错误。有人能告诉我这是什么意思吗

Command/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copyplist failed with exit code 127
sh: plutil: command not found
以下是构建结果:

CopyPNGFile /Users/me/path/build/Dist-iphoneos/MyApp.app/img_000.png images/img_000.png
    cd /Users/me/
    setenv COPY_COMMAND /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/System/Library/Frameworks/JavaVM.frameworK/Versions/1.6/Home/"
    "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng" -compress "" /Users/path/images/img_000.png /Users/me/path/build/Dist-iphoneos/MyApp.app/img_000.png
sh: dirname: command not found

CopyPlistFile /Users/me/path/build/Dist-iphoneos/MyApp.app/Entitlements.plist Entitlements.plist
    cd /Users/me/
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/System/Library/Frameworks/JavaVM.frameworK/Versions/1.6/Home/"
    /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copyplist --convert binary1 Entitlements.plist --outdir /Users/me/path/build/Dist-iphoneos/MyApp.app
sh: plutil: command not found

plutil
通常位于
/usr/bin
中。确保它在那里。如果不是,您可能在安装开发人员工具时没有取消选中(或取消选中)系统工具复选框,这会将基本Mac OS X程序员工具放入/usr。

尝试重新安装SDK?

是否可能未以某种方式设置path环境变量

你有:

setenv PATH“/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/System/Library/Frameworks/JavaVM.frameworK/Versions/1.6/Home/” /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copyplist--convert binary1 authorities.plist--outdir/Users/me/path/build/Dist iphoneos/MyApp.app

当我展示:

setenv PATH“/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/opt/local/bin:/usr/local/bin:/bin:/sbin:/usr/bin” 内置infoPlistUtility test34-Info.plist-genpkginfo/Users/gnd/Desktop/test34/build/Debug iphonesimulator/test34.app/PkgInfo-expandbuildsettings-format binary-platform iphonesimulator-o/Users/gnd/Desktop/test34/build/Debug iphonesimulator/test34.app/Info.plist

我在您的路径中没有看到/usr/bin

(在终端中:
echo${PATH}

尽管大多数OSXGUI应用程序都是从~/.MacOSX/environment.plist获取路径的,但对Xcode并不是100%确定


其他信息:

从“man bash”页面:

当bash作为交互式登录shell或带有--login选项的非交互式shell调用时,它首先读取并执行文件/etc/profile(如果该文件存在)中的命令。读取该文件后,它按顺序查找~/.bash\u profile、~/.bash\u login和~/.profile,并读取和执行第一个文件中的命令t一个存在且可读的文件

因此,如果您在.bash\u登录中有它,但是.bash\u配置文件存在,那么您的更改将不会被看到

还要注意上面关于GUI应用程序路径定义替代文件的注释


您可能需要先注销,然后再重新登录以获得对“take”的更改。

您的PATH变量由于某种原因出错。您想了解这是如何发生的。这是您的(冒号分隔以强调):

这就是工作路径的外观:

setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
    :/Developer/usr/bin
    :/usr/bin
    :/bin
    :/usr/sbin
    :/sbin"
(行分隔是为了阐明路径变量是如何分隔路径的)

注意,我的有/usr/bin:/bin:/usr/sbin:/sbin,而你的没有。这就是问题所在。shell脚本只在其路径中找到可执行文件,而当文件位于/usr/bin/中时,却找不到它们


有关Xcode路径的SO讨论,请参见,例如,

我也有同样的问题……问题是plutil不在路径中的任何目录中

我的解决方案是将/usr/bin复制到路径中的/user/local/bin


不知道问题是Xcode、OS X还是Apple。

我已经检查了提供的答案,但没有一个对我有效。问题仍然存在

我仔细查看了xcode中的错误,注意到它在错误的位置查找图像。在我的情况下,我复制并重命名了包含我的项目的目录。对我的图像的任何引用都没有更新

我通过右键单击finder中的项目文件并单击“显示包内容”修复了问题。然后,我在xcode中打开了*.pbxproj。我对该文件进行了查找和替换,以将旧文件夹的名称替换为新文件夹

在关闭和打开xcode之后,这解决了我的问题


我希望这对其他人有所帮助…

如果您通过finder(而不是xcode)删除文件,也会显示此错误然后尝试存档。因此,请确保没有任何文件以红色列出,并且如果这些文件是从项目中删除的。

我以前见过此错误。问题在于.png文件已损坏。此错误非常具有欺骗性。请尝试删除受影响的.png文件,并将其从该文件的备份或干净版本中替换回项目中。这会导致错误您将清除构建错误。

+1对于钉枪图像…您是否检查了所有的目标、构建设置?上次我遇到类似问题时,它是由设置字段开头的空格引起的。是的,我已经查看了好几次。有趣的是,没有一个谷歌搜索结果显示退出代码127。尝试过吗将这些命令复制/粘贴到terminal?也可能是出了问题,需要重新启动。文件authoritions.plist和ing_000.png发生了什么?错误127来自shell脚本本身,表示“找不到文件”。在终端中,尝试键入以下内容:foobar;echo$?您将看到如下内容:-bash:foobar:command not found 127其中127是操作的错误代码(从$?)/usr/bin相对于哪个目录?正在搜索名为“usr”的文件夹显示大约30个文件夹。如果这是问题,我如何解决它?如果它以斜杠开始,它是一个绝对路径,而不是相对路径。在操作系统引导驱动器上有一个/usr/bin目录,这就是plutil等工具所在的位置。(它不会显示在查找程序中。您必须使用Go to Folder到达那里,或者使用Terminal命令行查看。)如果没有,请重新安装Xcode工具,并确保选中“系统工具”复选框。好的,我验证了plutil是否存在。我还重新安装了整个Xcode/iphone软件包,并选中了系统工具。现在,即使我只是尝试使用Simulator/Debug进行构建,我也会遇到同样的错误。太棒了。我本来打算这么做,但当我下载SDK时我发现雪豹现在是必需的。去下载雪豹,发现它是“只买盒子”的。每次我都觉得我不能再讨厌苹果了
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
    :/Developer/usr/bin
    :/usr/bin
    :/bin
    :/usr/sbin
    :/sbin"