2010-08-13 5 views
7

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

Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. 

EDIT: Я пытался загружать и устанавливать профиль распределения, но я все еще получаю ошибку. Есть ли способ связать этот новый профиль с моим приложением в XCode? Благодаря!

EDIT 2: Теперь я получил профиль предоставления распределения от Apple и попытался скомпилировать его. Получение ошибки «Действительный профиль подготовки для этого исполняемого файла не найден».

+0

Попробованная перезапуск Xcode/ваш iPhone/ваш компьютер еще? – jtbandes

+0

Да, пробовал все это. Даже создала новое приложение. –

+0

Вы пытаетесь установить сборку Распространения на своем устройстве? Это не сработает. Профили с использованием профилей распространения App Store предназначены только для отправки в App Store (при создании с использованием выпущенного не-бета-SDK). – hotpaw2

ответ

0

Вы уверены, что профиль подготовки является профилем распространения для магазина приложений, а не разработкой/специальным?

+0

Я только что загрузил и установил профиль распространения, но я все еще получаю ошибку. Есть ли способ связать этот новый профиль с моим приложением в XCode? Спасибо! –

1

Вы можете либо дважды щелкнуть файл .mobileprovision, либо вручную скопировать его в ~/Library/MobileDevice/Provisioning Profiles. Затем он появится во всплывающем окне настройки в настройках Target.

+0

Где я могу найти файл .mobileprovision? –

+0

Хорошо, получил файл mobileprovision от Apple. Теперь, когда я пытаюсь скомпилировать, я получаю: «Действительный профиль подготовки для этого исполняемого файла не найден». и сборка не удалась. Есть идеи? –

14

Проверьте следующее:

  • При создании профиля от дистрибутива, убедитесь, что Метод распределения является "App Store".
  • В настройках проекта, перейдите на строительство вкладку и убедитесь, что подписи кода идентификации является профиль распределения, созданный для App Store
  • В настройках Target (дважды нажмите на Target в проекте), перейдите на вкладку Построить и убедитесь, что код подписи Удостоверение является профиль распределения, созданный для App Store

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

+1

Это правильный ответ, но для того, чтобы поставить на него более тонкую точку ... при создании для распространения, убедитесь, что вы используете настройку «Распределение iPhone» в настройках проекта для профиля предоставления, который отличается от «iPhone Development " один. Таким образом, рекомендуется использовать две отдельные конфигурации. (Обычно у меня есть «Симулятор», «Устройство», «AdHoc» и «Развертывание».) – samkass

1

Задайте профиль подготовки как для Project, так и для Active Target.

Нажмите «Проект» -> «Изменить параметры проекта» измените объект подписи кода Нажмите «Проект» -> «Изменить активный объект» и измените тот же объект подписи кода здесь.

Вы должны быть добры.

+0

Не нужно делать это цели, цель наследует параметры проекта. – bstahlhood

0

Эта ошибка также может быть вызвана, если вы неправильно настроили «права на использование» вашего приложения. Хорошее место для проверки - это предупреждение в «Навигаторе журнала Xcode» (последняя страница на левой вкладке) и убедитесь, что рядом с окнами CodeSign и Validate в журнале построения есть зеленый галочка, когда вы архивируете свой проект.

0

Я была такая же проблема, и это то, что я сделал, чтобы заставить его работать:

Оказалось, мой файл Entitlements был бесформенно.

Через много проб и ошибок я выяснил проблему.Для здравомыслия для других, вот правильная конфигурация:

application-identifier   $(AppIdentifierPrefix)$(CFBundleIdentifier) 

com.apple.developer.ubiquity-container-identifiers 
     Item 0      $(TeamIdentifierPrefix)$(CFBundleIdentifier) 

Это подтвердило его правильность. Я не мог найти это документально, так что, надеюсь, это помогает кому-то другому.

3

Для предупреждения о сбое Xcode или ошибки проверки архива «Ошибка при неудачной проверке кода» см. Полный список потенциальных причин этой проблемы от Apple «How do I resolve the error: Application failed codesign verification?».

Для ошибки «Действительный профиль обеспечения для этого исполняемого файла не был найден», как правило, эта ошибка возникает при попытке запустить приложение на устройстве через Xcode пока вы сказали, что вы загружаете приложение в магазин? Убедитесь, что вы выполняете рекомендуемые шаги для загрузки приложения iOS в хранилище с использованием «Steps to submit your app to the App Store».

Для других, получающей ошибки «Действительный профиль обеспечения для этого исполняемого файла не был найден» проверьте, что вы следующие рекомендуемые действия Apple, для запуска на устройстве через Xcode в «Steps to run your app on device thru Xcode».

+0

Спасибо большое, я провел 2 дня на этом! – TheLearner

0

Вот одно решение, не перечисленное, которое оказалось моей проблемой (и мне потребовалось 3 дня, чтобы найти!). Установите конфигурацию сборки архива для выпуска. Вы можете сделать это, перейдя в PRODUCT -> EDIT SCHEME -> ARCHIVE -> BUILD CONFIGURATION -> SET TO RELEASE.

Удачи!

0

Я столкнулся тот же вопрос, имеющий ICloud KVStore как способность активного:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>com.apple.developer.icloud-container-identifiers</key> 
    <array/> 
    <key>com.apple.developer.ubiquity-kvstore-identifier</key> 
    <string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string> 
</dict> 
</plist> 

Xcode не удается подписать двоичный, когда я пытаюсь изменить «идентификатор com.apple.developer.ubiquity-kvstore-идентификатор к основному приложению KVStore Identifier, как описано в

Configuring Common Key-Value Storage for Multiple Apps

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