Подтвердить что ты не робот

Ошибка сборки iphone, которая заставляет меня хотеть купить пистолет для ногтей

Я просто пытаюсь создать простое обновление (которое я сделал ранее) для приложения 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
4b9b3361

Ответ 1

По какой-то причине ваша переменная PATH прикручивается. Вы хотите посмотреть, как именно это произошло. Это ваше (разделенное двоеточием для акцента):

setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
    :/Developer/usr/bin
    :/System/Library/Frameworks/JavaVM.frameworK/Versions/1.6/Home/"

Вот как выглядит работающий PATH:

setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
    :/Developer/usr/bin
    :/usr/bin
    :/bin
    :/usr/sbin
    :/sbin"

(разделение строк - это разъяснение того, как переменные PATH разделяют пути)

Обратите внимание, что у меня есть /usr/bin:/bin:/usr/sbin:/sbin и твой нет? Это проблема прямо там. Оболочка script обнаруживает только исполняемые файлы по своему пути, а файлы находятся в /usr/bin/, но не находит их.

Для обсуждения SO на Xcode PATH, см., например, где $PATH установлен в xcode?

Ответ 2

Возможно ли, что переменная среды пути не установлена ​​каким-то образом?

У вас есть:

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

Пока я показываю:

setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/opt/local/bin:/usr/local/bin:/bin:/sbin:/usr/бен:/USR/SBIN" builtin-infoPlistUtility test34-Info.plist -genpkginfo/Users/gnd/Desktop/test34/build/Debug-iphonesimulator/test34.app/PkgInfo -expandbuildsettings -format binary -platform iphonesimulator -o/Пользователи/gnd/Desktop/test34/build/Debug-iphonesimulator/test34.app/Info.plist

Я не вижу /usr/bin в вашем пути.

(в терминале:
 echo ${PATH}

хотя большинство приложений OS X GUI получают свой путь от ~/.MacOSX/environment.plist, но не на 100% уверены в Xcode.


Дополнительная информация:

на странице "man bash":

Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с опцией -login, она сначала считывает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла он ищет ~/.bash_profile, ~/.bash_login и ~/.profile в этом порядке и читает и выполняет команды из первого, который существует и доступен для чтения.

Итак, если у вас есть это .bash_login, но .bash_profile существует, ваше изменение не будет видно.

Также обратите внимание на комментарий к альтернативному файлу определения PATH приложений GUI приложений выше.

Вам может потребоваться выйти из системы, а затем вернуться, чтобы получить изменение "взять".

Ответ 3

У меня была такая же проблема... проблема в том, что плутил не находится ни в одном из каталогов в PATH.

Мое решение состояло в том, чтобы сделать копию из /usr/bin в/user/local/bin, которая находится в PATH.

Не знаю, проблема в Xcode, OS X или Apple.

Ответ 4

plutil обычно находится в /usr/bin. Убедитесь в этом. Если это не так, возможно, вы установили свои инструменты для разработчиков, не сняв флажок (или сняв флажок) с инструментами "Системные инструменты", который помещает базовые средства программирования для Mac OS X в/usr.

Ответ 5

Попробовал переустановить SDK?

Ответ 6

Я рассмотрел предоставленные ответы, и никто из них не работал у меня. Проблема продолжалась.

Я внимательно посмотрел на ошибку в xcode и заметил, что он искал изображение в неправильном месте. В моем случае я скопировал и переименовал каталог, содержащий мой проект. Ни одна из ссылок на мои изображения не была обновлена.

Я исправил свою проблему, щелкнув файл проекта в Finder правой кнопкой мыши и нажав Показать содержимое пакета. Затем я открыл *.pbxproj в xcode. Я нашел и заменил файл, чтобы заменить имя старой папки на новую папку.

После закрытия и открытия xcode это решило мою проблему.

Я надеюсь, что это поможет другим...

Ответ 7

эта ошибка также покажет, удалили ли вы файл через finder (а не в xcode), затем попробуйте архивировать. Поэтому убедитесь, что ни один из ваших файлов не указан красным цветом, и если они удаляют его из вашего проекта.

Ответ 8

Я видел эту ошибку раньше. Проблема заключается в поврежденном файле .png. Ошибка довольно обманчива. Попробуйте удалить затронутый .png и заменить его обратно в проекте из резервной или чистой версии этого файла. Это должно устранить ошибки сборки.