Неверный или непригодный формат файла iPhone Codesign

Я случайно удалил свою цель в xcode.

поэтому я создал новый с таким же именем. в целевых настройках я снова выбрал правильный идентификатор кода

но теперь я больше не могу скомпилировать устройство. как только я хочу построить, я получаю:

CodeSign build/Release-iphoneos/myApp.app
....somestuff....
/Volumes/XCodeProj/myApp/build/Release-iphoneos/myApp.app: object file format invalid or unsuitable
Connad /usr/bin/codesign failed with exit code 1

Я уже пытался очистить цели. что может вызвать эту проблему и как ее решить?

Ответ 1

Также может возникнуть проблема с вашей установкой. Symlinking к последним codeign_allocate прояснил проблему в моем случае:

sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin

Ответ 2

В Mountain Lion вы можете попробовать запустить это до codeign:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"

Ответ 3

Убедитесь, что запись "Исполняемое имя" (CFBundleExecutable) в целевом info.plist соответствует "Название продукта", указанному в ваших целевых настройках.

Ответ 4

У меня была эта проблема, когда я пытался скомпилировать код из терминала. Я только что установил Xcode 4.4 после удаления Xcode 3.0. Посмотрел настройки загрузки в Xcode и заметил, что средства командной строки не были установлены. Моя проблема была исправлена ​​после того, как я установил это. Я предполагаю, что проблема является более сложной, учитывая решения здесь, но это может быть то, что будущие пользователи хотят проверить, прежде чем они начнут погружаться глубже.

Ответ 5

Для меня это произошло после обновления до XCode 4.5.

Решением было просто перейти в "Настройки/Загрузки" и установить последние средства командной строки.

Ответ 6

Я была такая же проблема и испробовали все настройки сборки GCC4.0, поиска путей и т.д. и т.п. Оказалось, не было ничего общего с настройками сборки в моем случае проблема была я поставил точку в имени цели т.е. я целился v3.0 SDK, так что я назвал цель Granade3.0.

Я начал новый проект под названием "Grenade3zero", импортированные источники из оригинала, фиксированного на AppDelegate имя совпадает с именем проекта и т.д. строить и идти, и он загружен в первый раз на устройстве, так и имитатор был также хорошо, когда Я проверил это. Похоже, некоторые символы являются незаконными в целевых именах!

Ответ 7

Думаю, я тоже добавлю свое решение к этой проблеме... Я боролся в течение пары недель с этой проблемой... проверив ВСЕ решения выше и изменив их.

Мое решение было в целевом build settings.

У меня было два варианта: armv6 и armv7. Я изменил это на одну запись normal и построил ее!

build settings

Ответ 8

Ответ emcmanus работал у меня, но поскольку Xcode 4.3 теперь установлен в папке Applications, и я удалил старую папку /Developer, мне пришлось изменить путь к codesign_allocate:

sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin

Ответ 9

Я пробовал все это безрезультатно. Что для меня работало, так это добавить в мою сборку script следующее:

экспорт CODESIGN_ALLOCATE = "/Applications/Xcode.app/Содержание/Разработчик/USR/бен/codesign_allocate"

Я столкнулся с этим сообщением, исследуя мою проблему: http://mobiledevelopertips.com/mac-osx/code-signing-error-object-file-format-unrecognized-invalid-or-unsuitable.html

Ответ 10

Для Горного Льва перед началом процесса подписания. В качестве первой команды выполните команду ниже.

Для Xcode 4.x: export CODESIGN_ALLOCATE = "/Applications/Xcode.app/Содержание/Разработчик/usr/bin/codesign_allocate"

Для XCode 5: export CODESIGN_ALLOCATE = "/Applications/Xcode.app/Содержание/Разработчик/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"

Ответ 11

Столкнулась с аналогичной проблемой в Jenkins, работающей на Mountain Lion и Xcode 5.x.x без каких-либо утилит командной строки. поскольку утилиты командной строки теперь связаны с Xcode 5.1.x

работали

sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate /usr/bin/

Ответ 12

  • Перейдите в раздел "Настройки сборки"
  • Перейдите на вкладку "Параметры сборки"
  • Внутри вкладки "Параметры сборки" найдите "Отформатированный информационный формат" и измените его значение с "DWARF" на "DWARF с файлом dSYM". Должно быть в раскрывающемся списке.

Он должен работать для вас, ребята.

Ответ 13

Если ваше приложение имеет специальные символы в имени продукта в настройках целевой сборки, удалите их.

Например, переименуйте приложение "Мат" в приложение "Матс" и оно будет создано. Конечно, вы можете иметь специальные символы в отображаемом имени.

Ответ 14

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

Ответ 15

Я думаю, что это было причиной одного из Xcode DP (предварительный просмотр разработчика). Он может изменить путь по умолчанию Xcode.app к Xcode DP.

Итак, U может проверить путь Xcode на xcode-select --print-path

Если U получил неправильный каталог, то U может изменить путь на xcode-select --switch

проверить эту тему. изменить путь разработчика xcrun

Ответ 16

Лучше использовать xcrun для поиска правильной версии codign_allocate, поскольку она может быть различной в зависимости от того, является ли она бинарным или iOS OS X.

Это также позволяет Apple менять местоположение различных инструментов, не разбивая ваш script.

Используйте что-то вроде:

export CODESIGN_ALLOCATE=$(xcrun --sdk iphoneos --find codesign_allocate)

Ответ 17

Я получаю ошибку при попытке подписать мое приложение OS/X (не iOS) с цифровым сертификатом, который моя компания приобрела у корневого центра сертификации, отличного от Apple. Проблема будет возникать всякий раз, когда я загружаю сертификат через Safari. Загрузка сертификата с помощью Firefox помогла мне избавиться от ошибки.