2010-09-06 3 views
0

Это мое первое приложение, которое отправляется в магазин приложений, и я делал все в соответствии с руководством 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 

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

ответ

0

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

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

0

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

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

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

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

Удача,

Смежные вопросы