CodeSign возвращается 1 (объект формата IFILE недействительна или неподходящего) ошибка

Я работаю с XCode 4.1 Build 4B110F, пытаясь заставить мое приложение iOS готово к загрузке. Он проходит продукт | архивирующий шаг без ошибок, прося дважды за разрешение подписать что-то. Но когда я попробую подтвердить архив от организатора, он не удается:

### Codesigning '/Users/uqrchern/Library/MobileDevice/Provisioning Profiles/70D2381D-3733-4F5D-88B2-4729572C2864.mobileprovision' with 'iPhone Distribution: Ron Chernich'
+ /usr/bin/codesign --force --preserve-metadata --sign iPhone Distribution: Ron Chernich --resource-rules=/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app/ResourceRules.plist --entitlements /var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/entitlements_plistrZ1Vwko6 /var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app
Program /usr/bin/codesign returned 1 : [/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app: replacing existing signature
/var/folders/ul/ula1AHKnGpqQ9ftDnUL-l++++TM/-Tmp-/rybczU3EBd/Payload/ABRA-D.app: object file format invalid or unsuitable
]
error: codesign failed with error 1

Я посмотрел на все похожие проблемы и решения (некоторые из которых не имеют никакого смысла или не применяются к действительно старым версиям инструментов). Никто не сделал ни малейшего разницы.

Я также проверил 3 раза, которые проверки используют сертификат «производства», как и шаг CodeSign, который создает архив. Я даже превратил вышеуказанный вывод в скрипт Schell, поэтому я мог бы попробовать все сертификаты вручную: тот же результат каждый раз.

Может быть, подписанный файл .App действительно не подходит?

Кстати, Codesign отсутствует флаг версии, но страница человека датирована 1 июня 2006 года. Двоичный файл имеет дату 20 ноября 2010 года.

(На следующий день):

Исследование проблемы дополнительно обнаружили, что скрытая справка, заявив, что CodeSign требует следующих наборов VAR окружающей среды:

CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

с использованием вывода из неисправности проверки VALLATE, я создал скрипт оболочки, который экспортировал этот VAR перед Неспособность CodeSign --Force Step и Viola! Коды работы.

Но это на самом деле не помогает мне подготовить мой код для загрузки. Есть ли способ включить это в сценарий, управляемый Организатором Validate Button County ??

Немного позже все еще, решение! :

В соответствии с теорией есть скрипт, который может генерировать все команды, запускающие во время проверки организатора ... Run, я сделал несколько копал с GREP и находить. Сценарий действительно существует, и это имя:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication

Это просто Perl, и исправление - это просто добавить необходимую среду var для ассоциативного массива% env прямо в начале, скажем, в строке 72:

$ENV{CODESIGN_ALLOCATE} = '/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate';

Это полностью исправляет проблему. Я понятия не имею, где все другие плакаты в Интернете, которые думают, что они исправили его путем комбинаций удаления сертификатов, построения чистых, отключения и перезапуска XCode и т. Д. Я просто спокойно утверждаю, что это исправление способствует науке над суеверией и работает для меня под XCode 4.1 Build 4B110F и связанный с ним скрипт упаковки, работает под снежным леопардом 10.6.8 с Perl 5.10.0

40
задан halfer 23 August 2017 в 16:20
поделиться