Как решить проблему «Ошибка проверки кода приложения» при загрузке в iTunes Connect? - PullRequest
31 голосов
/ 16 февраля 2010

У меня есть проблема, которую я не смог решить с помощью глубокого поиска по разным ресурсам, так как большинство "похожих" указывает на ошибку с размером Icon.png и т. Д. ...

Я попытался загрузить свою заявку после проверки того, что:

  • Правильно собирает и запускает на моем устройстве
  • что мои сертификаты установлены правильно
  • что срок действия моих сертификатов / профилей не истек.
  • что Icon.png имеет правильный размер и формат 57x57 PNG.
  • и несколько других вещей.
  • Запустил кодовый знак --verify -vvvv MyApp.app, который работал нормально.
  • Мой ZIP-файл был правильно сделан

Когда я пытался загрузить через интерфейс подключения iTunes, я получил простую ошибку, описанную выше, и именно поэтому я попытался с ApplicationLoader, чтобы попытаться выяснить, что является причиной ошибки, глядя на консоль.

Консоль показала следующее:

16/02/10 13:25:52   ApplicationLoader[549]  *** Codesign error (please ignore invalid option comments): got requirements(0x800000, 534)
Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
Identifier=com.realtimed.MyApp
Format=bundle with Mach-O thin (armv6)
CodeDirectory v=20100 size=829 flags=0x0(none) hashes=33+5 location=embedded
Signature size=4333
Authority=iPhone Developer: My Name (XXXXXXXXX)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=16/02/2010 13:22:24
Info.plist entries=17
Sealed Resources rules=3 files=28
Internal requirements count=1 size=144

Executable=/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app/MyApp
got entitlements(0x800400, 317)
codesign_wrapper-0.7.3: using Apple CA for profile evaluation
codesign_wrapper-0.7.3: Caling codesign with the following args:
codesign_wrapper-0.7.3:    /usr/bin/codesign
codesign_wrapper-0.7.3:    --verify
codesign_wrapper-0.7.3:    -vvvv
codesign_wrapper-0.7.3:    -R=anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and certificate leaf[field.1.2.840.113635.100.6.1.4] exists
codesign_wrapper-0.7.3:    --entitlements
codesign_wrapper-0.7.3:    /var/tmp/signingbox/codesign_wrapper_entitlements.plist
codesign_wrapper-0.7.3:    /var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app
**/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: valid on disk
/var/folders/WZ/WZu24JnOGNe9L79GWq0IlU+++TI/-Tmp-/MyApp.zip/MyApp.app: satisfies its Designated Requirement
test-requirement: failed to satisfy code requirement(s)
codesign_wrapper-0.7.3: failed to execute codesign(1)**

Любая помощь / обратная связь или идеи о том, как решить ситуацию, будет высоко оценена

Ответы [ 4 ]

42 голосов
/ 16 февраля 2010

Я нашел решение этой проблемы после глубокого изучения файла журнала.

Несмотря на то, что я создал свой собственный Профиль распространения и присвоил CODE SIGNING IDENTITY правильное значение для сертификата разработчика, он не сработал, выдав мне ошибку: «Приложение не прошло проверку кода».

Проблема в следующей строке:

Authority = iPhone Разработчик: Мое имя (XXXXXXXXX)

Несмотря на правильный выбор в настройках проекта для профиля распространения, XCode компилировал его с сертификатом разработчика.

Я наконец-то решил это: щелкните правой кнопкой мыши на «Цели» -> Получить информацию -> и там был выбран (не спрашивайте меня, почему) неправильный сертификат распространения вместо правильного.

Я исправил это, и это, наконец, было принято.

Ссылки по теме (вам необходим аккаунт разработчика): https://devforums.apple.com/message/147964

10 голосов
/ 27 февраля 2011

Отличный пост. У меня тоже была эта проблема, и после сильной головной боли я понял, что и проект, и цель должны быть проверены на предмет правильности идентификатора подписи кода. Каким-то образом Xcode возвращается к профилю обеспечения разработчика вместо профиля обеспечения Distribution . Он даже сделал это на билде сразу после того, как я сознательно выбрал правильный!

I. Чтобы быть в безопасности, сначала сделайте следующее:

  1. Очистить все сборки.
  2. Удалить содержимое папки сборки в Finder.
  3. Удалить существующие идентификаторы подписи кода из проекта и целевых настроек.
  4. Перезапустите Xcode.

II. Затем проверьте проект на предмет правильного профиля обеспечения:

  1. Перейти к Project Settings > Build Tab > Code Signing Identity
  2. Выберите соответствующий профиль обеспечения распространения

III. Теперь проверьте цель:

  1. Target > Get Info > Build Tab > Code Signing Identity
  2. Выберите соответствующий профиль обеспечения распространения

IV. Скрестите пальцы и надейтесь, что вы больше никогда не увидите этот маленький желтый треугольник.

5 голосов
/ 05 января 2012

Cy выбрал правильный подход для решения этой проблемы - Когда «При проверке кода не удалось установить приложение» является предупреждением о сборке, разверните этот элемент в журнале сборки и найдите основную причину неудачной проверки подписи.

В исходном посте Cy. Вы увидите, что основной проблемой была "test-требование: не удалось выполнить требования кода (ов) ", и по моему опыту это почти всегда вызывается подписью с неверным сертификатом, т.е. с профилем iPhone Developer вместо iPhone Distribution.

Коренная причина не всегда является очевидным объяснением, но должна помочь вам, по крайней мере, с дополнительными поисковыми терминами или идеями устранения неполадок.

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

1 голос
/ 13 августа 2013

Убедитесь, что TARGET (и не только проект) настроен с правильной идентификацией подписи кода для выпуска

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...