Как решить "Признать неудачную проверку кода приложения" при загрузке в iTunes Connect?
У меня есть проблема, которую я не мог решить с помощью глубокого поиска в разных ресурсах, поскольку большая часть "похожих" указывает на ошибку с размером Icon.png и т.д.
Я попытался загрузить свое приложение после проверки того, что:
- Правильно строит и запускает на моем устройстве
- Что мои сертификаты установлены правильно
- Чтобы мои сертификаты/профили не истекли.
- То, что Icon.png имеет правильный размер и формат 57x57 PNG.
- И еще несколько вещей.
- Ran codesign --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)**
Любая помощь/обратная связь или идеи о том, как решить эту ситуацию, будут высоко оценены.
Ответы
Ответ 1
Я нашел решение этой проблемы после глубокого изучения файла журнала.
Хотя я создал свой собственный профиль распространения и присвоен идентификатору CODE SIGNING IDENTITY правильное значение для сертификата разработчика, это не помогло мне сообщить об ошибке: "Ошибка проверки кода приложения".
Проблема заключается в следующей строке:
Авторитет = Разработчик iPhone: Мое имя (XXXXXXXXX)
Несмотря на правильный выбор в настройках проекта для профиля распространения, XCode собирал его с сертификатом разработчика.
Я, наконец, решил: нажмите правой кнопкой мыши на "Цели" → Получить информацию → и там он был выбран (не спрашивайте меня, почему) неправильный дистрибутивный сертификат вместо правильного.
Я исправил это, и он, наконец, был принят.
Ссылки по теме (вам нужна учетная запись разработчика): https://devforums.apple.com/message/147964
Ответ 2
Отличная почта. У меня тоже была эта проблема, и после того, как много головной боли поняли, что и проект, и цель должны быть проверены на использование правильной идентификационной маркировки кода. Как-то Xcode возвращался обратно к профилю Provisioning Profile, а не к профилю Provisioning Profile. Он даже сделал это на сборке сразу после того, как я сознательно выбрал правильный!
я. Чтобы быть в безопасности, сначала сделайте следующее:
- Очистите все сборки.
- Удалить содержимое папки сборки в finder.
- Удалить существующие идентификаторы подписи кода из проекта и целевых настроек.
- Перезапустить Xcode.
II. Затем проверьте проект на правильный профиль Provisioning:
- Перейдите к
Project Settings > Build Tab > Code Signing Identity
- Выберите соответствующий профиль распределения ресурсов
III. Теперь проверьте цель:
-
Target > Get Info > Build Tab > Code Signing Identity
- Выберите соответствующий профиль распределения ресурсов
IV. Перекрестите пальцы и надейтесь, что вы никогда не увидите, что взорвался маленький желтый треугольник.
Ответ 3
Cy применил правильный подход для решения этой проблемы. - Когда "Ошибка при неудачной проверке кода приложения" - это предупреждение о сборке, разверните этот элемент в журнале сборки и сканируйте причину root ошибки проверки подписи.
В случае Cy. оригинальное сообщение, вы увидите, что проблема с корнем была "test-require: не удалось удовлетворить требования (-ы) кода (-ов)", и по моему опыту это почти всегда вызвано подписанием с неправильным сертификатом, т.е. iPhone, а не iPhone.
Коренная причина не всегда является очевидным объяснением, но должна служить вам, по крайней мере, с дополнительными условиями поиска или идеями об устранении неполадок.
Для других, испытывающих проверку "Ошибка неудачной проверки кода приложения" при проверке или представлении архивирования Xcode, посмотрите в журнале сборки в Product> Archive time для предупреждения о сборке с тем же заголовком и расширьте это для основная причина. Затем ознакомьтесь с полным списком потенциальных причин этой ошибки в Apple по следующему URL "Как устранить ошибку: Ошибка проверки кода приложения?"
Ответ 4
Убедитесь, что TARGET (и не только Project) настроен с правильной идентификацией подписи кода для выпуска