Приложение не прошло проверку кода - PullRequest
0 голосов
/ 07 сентября 2010

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

warning: Application failed codesign verification.  The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)
failed to extract requirements data: 1
/Users/xxxx/Desktop/xxxx/build/Distribution-iphoneos/xxxxx.app: object file format invalid or unsuitable
failed to extract entitlements: 1
 - (null)

Кроме того,

    /Users/xxxxxx/Desktop/xxxxx/build/Distribution-iphoneos/xxxxxxx.app: object file format invalid or unsuitable
Command /usr/bin/codesign failed with exit code 1

Что происходит

Ответы [ 2 ]

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

Относительно ошибки: … * .app: формат файла объекта недопустим или непригоден

  1. Изменения в информации «Исполняемый файл» (иначе, CFBundleExecutable).Настройка plist на что-то отличное от настройки сборки Product Name может отключить эту ошибку.В этом случае можно быстро восстановить свойство Info.plist «Исполняемый файл» со следующим значением: $ {EXECUTABLE_NAME}.Причина этого заключается в том, что имя исполняемого файла получено из XCode значений для параметров сборки PRODUCT_NAME, EXECUTABLE_PREFIX и EXECUTABLE_SUFFIX, и Xcode проверяет / настаивает этот формат после упаковки приложения.Часто (и по умолчанию) EXECUTABLE_PREFIX и EXECUTABLE_SUFFIX пусты, поэтому имя исполняемого файла в свою очередь совпадает с именем продукта.Поэтому техническая настройка параметра «Исполняемый файл» info.plist, равная значению параметра сборки «Имя продукта», будет работать технически (до тех пор, пока параметры сборки исполняемого префикса и суффикса останутся пустыми), но лучше всего восстановить его значение в $ {EXECUTABLE_NAME}.

  2. Другая причина этой ошибки связана с неправильными настройками сборки, связанными с подписанием кода, в проекте Xcode, или настройками подписи кода, которые незначительно отличаются от рекомендуемых настроек.Вы можете использовать следующее руководство, чтобы убедиться, что ваш проект и связка ключей удовлетворяют всем требованиям для подписи кода, и обратите особое внимание на рисунки, чтобы убедиться, что ваши настройки точно соответствуют рекомендациям Apple.Ссылки на следующие рекомендуемые разделы приведены в руководстве: «Понимание и устранение проблем с подписью кода» В частности, см. Разделы: «Проверка конфигурации цепочки для ключей» и «Проверка конфигурации проекта XCode».

Если ошибка не устранена после вышеизложенного, проблема, скорее всего, связана с проектом Xcode, а не присуща вашей подписи.Поэтому я рекомендую создать новый проект XCode с вашей текущей версией XCode и перенести существующий код, ресурсы и платформы в новый проект и посмотреть, сохраняется ли ошибка знака кода.

Удачи,

0 голосов
/ 24 декабря 2010

Вы должны убедиться, что в настройках вашей сборки выбран правильный сертификат.Для каждого профиля конфигурации у вас есть разные настройки.Поэтому, если вы используете «Release» в качестве сборки AppStore, вы должны перейти к настройкам своего проекта и установить «Code Sign Identity» в качестве правильного сертификата разработчика.

И сделать то же самое для цели, я думаю, этопочему вы получили эти сообщения об ошибках.

...