Приложению не удалось проверить кодовый знак на Xcode 4.0.2 после многократной очистки ключей, воссоздавая проект - PullRequest
5 голосов
/ 22 июля 2011

У меня эта проблема возникает уже почти 4 часа, я очень расстроен.Я прошел через 3 раза и отозвал свои сертификаты и профили обеспечения и начал с нуля.Я также убедился, что мой проект настроен на использование профиля DISTRIBUTION.Я отозвал и удалил свой сертификат развития / проф, просто чтобы я не мог выбрать его случайно.Мой мобильный профиль копируется правильно.Я использую Xcode 4.0.2.Я запустил новый проект и поместил туда свои файлы, и у меня возникла та же проблема ..

Я супер-двойной-тройной проверил указания, чтобы получить сертификаты.Создал закрытые ключи, отправил файл на портал инициализации разработчика, получил сертификат, он загружается и соответствует моему закрытому ключу .. удалил все не относящиеся к нему ключи.Удалите все старые профили обеспечения, которые были сохранены в MobileProfile /..

здесь, действительно, мой проект настроен правильно !!

here, really, my project is set up right!!

здесь, действительноМоя цель (только цель!) установлена ​​правильно!

here, really, my target (only target!) is set up right!

Вот моя цепочка для ключей .. сертификаты выглядят хорошо enter image description here

Мой супер-медленныйТщательно созданный профиль обеспечения в Xcode отлично отображается, он, безусловно, признан хорошим и подписанным

enter image description here

Что я получаю:

<code>
rocessProductPackaging "/Users/rcl/Library/MobileDevice/Provisioning Profiles/AFFB40FF-FE57-4131-A1D1-0804E0E747FF.mobileprovision" /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/embedded.mobileprovision
    cd /Users/rcl/Documents/iMan/iMan_On_Xcode402/iMan
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
     "/Users/rcl/Library/MobileDevice/Provisioning Profiles/AFFB40FF-FE57-4131-A1D1-0804E0E747FF.mobileprovision" -o /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/embedded.mobileprovision</p>

<p>Then..</p>

<p>ProcessProductPackaging /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/Entitlements.plist /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Intermediates/iMan.build/Release-iphoneos/iMan.build/iMan.xcent
    cd /Users/rcl/Documents/iMan/iMan_On_Xcode402/iMan
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
     /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/Entitlements.plist -entitlements -format xml -o /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Intermediates/iMan.build/Release-iphoneos/iMan.build/iMan.xcent</p>

<p>Then...</p>

<p>CodeSign /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app
    cd /Users/rcl/Documents/iMan/iMan_On_Xcode402/iMan
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    setenv _CODESIGN_ALLOCATE_ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    /usr/bin/codesign -f -s "iPhone Distribution: Robert Lorentz" --resource-rules=/Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/ResourceRules.plist --entitlements /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Intermediates/iMan.build/Release-iphoneos/iMan.build/iMan.xcent /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app</p>

<p>Then....</p>

<p>Validate /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app
    cd /Users/rcl/Documents/iMan/iMan_On_Xcode402/iMan
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    setenv PRODUCT_TYPE com.apple.product-type.application
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app</p>

<p>warning: Application failed codesign verification.  The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)
Executable=/Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/iMan
codesign_wrapper-0.7.10: using Apple CA for profile evaluation
AssertMacros: signer,  file: codesign_wrapper.c, line: 610
AssertMacros: profile,  file: codesign_wrapper.c, line: 914
codesign_wrapper-0.7.10: Failed to load provision profile from: /Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/embedded.mobileprovision
 - (null)</p>

<p>

Редактировать:

Одно замечание: у меня установлена ​​бета-версия Xcode 4.2, не уверены, что это может вызвать проблемы?Я использовал предоставленный скрипт и полностью удалил бета-инструментарий разработчика и снова установил Xcode 4.0.2.

Редактировать:

Я попытался сгенерировать приватныйвведите мое собственное имя, а также название моей компании для «Common Name».Сначала я зарегистрировался в программе для разработчиков Apple под своим собственным именем, но когда я настроил себя на iTunes Connect, я использовал название своей компании в качестве имени, которое я хотел показать.Кажется, СЕРТИФИКАТ, который я выдал, очевидно, использует мое настоящее имя.Я попытался установить общее имя для закрытого ключа для обеих вещей безуспешно, но что правильно?

Редактировать:

И, чтобы быть понятным, файл/Users/rcl/Library/Developer/Xcode/DerivedData/iMan-hapawfvbfkeskkaembwcgifzypdz/Build/Products/Release-iphoneos/iMan.app/embedded.mobileprovision определенно существует и соответствует md5sum моего ~/Library/MobileDevice/Provisioning Profiles../ файла (единственный, который существует, тот, который я хочу использовать.)

Редактировать:

При создании моего профиля обеспечения распространения не имеет значения, что я выберу для своего идентификатора приложения - все они дают одинаковые результаты.Есть ли что-то, что должно соответствовать этому идентификатору приложения?

Редактировать:

Хорошо, я "добираюсь куда-то" или иду назад.Таким образом, мой идентификатор пакета, указанный мной, был com.panagiaindustries.iman;Яблоко выдало мне SR49T455EV.com.panagiaindustries.iman ... если я создаю свое приложение с помощью com.pana ..., оно не может кодировать в xcode.если я собираю с SR49T ... один, он кодирует знаки, но когда я использую Application Loader, я получаю 'Идентификатор пакета SR49T ... отличается от зарезервированного идентификатора пакета: com.pana ...' как ошибка.Что СЛЕДУЕТ использовать?

Редактировать:

Добавление следующего файла прав, по-видимому, не дало эффекта:






    get-task-allow
    
    application-identifier
    SR49T455EV.com.panagiaindustries.iman


Ответы [ 4 ]

4 голосов
/ 23 июля 2011

Я перешел с Xcode 4.0.2 на бета-версию 4.2.x, а затем вернулся к 4.0.2. После этого XCode не работал, поэтому я запустил скрипт удаления «Официального Perl», а затем переустановил 4.0.2. Xcode работал .. но, видимо, я все еще использовал некоторые бета-инструменты. Я решил мою проблему с помощью mv / Developer /Developer.old и установил "fresh" 4.0.2.

1 голос
/ 22 июля 2011

Это следующие шаги, необходимые для создания приложения iPhone по лицензии Apple Distribution License и загрузки его в App Store.

  1. Создание A CSR из Keychain Access на компьютере Mac.Доступ к Keychain Access как Finder >> Приложения >> Утилиты >> Доступ к Keychain.Загрузите этот CSR при создании сертификата распространения. Лицензия Apple может иметь только один сертификат распространения Apple.

  2. Загрузить сертификат распространения.Открыть брелок для доступа.Доступ к Keychain Access как Finder >> Приложения >> Утилиты >> Доступ к Keychain.Установите загруженный сертификат распространения.Щелкните правой кнопкой мыши по сертификату распространения и выберите «Экспортный сертификат» и сохраните его в формате личного сертификата обмена (.p12) в целевой библиотеке. >> Связки ключей.

  3. Для каждого новое приложение нам нужно создать новые профили обеспечения в одном сертификате Apple Distribution. Для каждого нового профиля обеспечения нам необходимо создать новый идентификатор приложения. Итак, нам нужно создать профиль обеспечения Adhoc и Appstore.

  4. Adhoc Профиль обеспечения предназначен для тестированияприложение на устройствах Apple. * Appstore * Provisioining Profile предназначен для загрузки приложения в appstore. Загрузите соответствующий Provisioning Profile и дважды щелкните его, чтобы установить.Удалите все предыдущие профили и просто сохраните вновь установленный профиль.

  5. Создайте приложение, выбрав объект подписи кода в качестве недавно установленного профиля обеспечения.

6 Загрузите файл ApplicationName.app.zip в виде двоичного файла в Загрузчик приложений при загрузке приложения в appstore.

Справка: https://developer.apple.com

Полагаю, это вам поможет.

0 голосов
/ 04 января 2012

В журнале сборки исходного сообщения вы можете увидеть основную причину этой конкретной ошибки проверки подписи, выраженную текстом: ".. Не удалось загрузить профиль обеспечения из: (x)" . Я столкнулся с двумя случаями этой конкретной ошибки проверки подписи, и оба были успешно исправлены путем обновления до Lion 10.7.2 и последней версии Xcode для Lion (в настоящее время Xcode 4.2.1).

Для других, испытывающих «Ошибка проверки кода приложения» во время проверки или отправки архива XCode, посмотрите журнал сборки в Product> Archive time для предупреждения сборки с тем же названием и разверните его для корневого каталога. причина. Затем посмотрите полный список возможных причин этой ошибки от Apple по следующему URL-адресу «Как устранить ошибку: приложение не прошло проверку кодового знака?»

0 голосов
/ 22 июля 2011

Я не вижу ничего, перечисленного в разделе «Права на подпись кода» (строка чуть выше элемента обеспечения). Откройте новый файловый помощник и найдите в разделе «Ресурсы» файл прав. Затем добавьте одну пару ключей:

<key>get-task-allow</key>
<true/>

Теоретически это добавит это для вас, но я помню, что некоторые версии Xcode плохо добавляли его. Также должна быть еще одна пара ключей:

<key>application-identifier</key>
<string>[someNumber].[bundleID]</string>

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

...