Я работаю с 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