Подтвердить что ты не робот

Как исправить "неудачную проверку кода" проекта iPhone?

Вчера вечером проект iPhone был построен отлично.

Сегодня утром я установил XCode 3.2.3 в отдельную папку. Когда я открываю тот же проект в старом XCode 3.2.2 и перестраиваю проект. Я получил это предупреждение:

Недействительный код приложения проверка. Подпись была недействителен или не был подписан с Сертификат подачи Apple. (-19011)

Как я могу это исправить? Спасибо!

4b9b3361

Ответ 1

У меня была такая же проблема, кажется, 3.2.3 беспорядок с кодовыми именами. Я исправил его, перезапустив установщик 3.2.2, не нужно ничего удалять.

Ответ 2

Для меня были решены следующие шаги:

  • Перейдите в раздел Product > Edit Scheme.

  • Откройте профиль архива.

  • Установите конфигурацию сборки для распространения.

Ответ 3

Я столкнулся с той же проблемой. Он показал, что у меня была двойная регистрация сертификатов в моих цепочках ключей. Удаление одного из них (я удалил один из моего системного брелка), устранил проблему.

Шаги, которые помогли мне решить мою проблему:

  • Откройте приложение KeyChain Access
  • Выберите брелок "login" и выберите в нижней панели "Сертификаты"
  • Переключитесь на цепочку ключей системы и посмотрите, есть ли сертификаты, зарегистрированные в обеих цепочках.
  • Удалите один из них
  • Восстановить приложение

Ответ 4

Проблема параллельного XCode может быть решена с помощью инструмента командной строки "xcode-select"

Я нашел аналогичную проблему, вызванную установкой XCode 4.2. Один из встроенных файлов прав был помещен в другой каталог и вызывал ошибку, не найденную в файле.

Решением было использование xcode-select для проверки и исправления пути XCode.

Ответ 5

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

  • В меню выберите "Просмотр" > "Навигаторы" > "Показать навигатор журнала". Навигатор Log Navigator должен отображаться с левой стороны.
  • В списке сборок выберите тот, который вызывает проблемы. Журнал из сборки будет показан в основном представлении.
  • Прокрутите до самого низа. Последние два шага должны быть CodeSign и Validate, где в шаге Validate содержится предупреждение.
  • Разверните CodeSign и проверьте параметры, используемые для выполнения подписи кода.
  • Развернуть Проверить, чтобы узнать больше об ошибках/предупреждениях.

Также прокрутите вверх и проверьте заголовок для цели сборки:

Создать цель (цель сборки)

Проект (ваш проект) | Конфигурация (выбранная конфигурация) | Назначение...

В моем случае я узнал, что при выполнении сборки архива приложение было подписано с сертификатом разработчика. Проверка заголовка для цели сборки показала, что для создания архива использовалась конфигурация Release. Средством было:

  • В меню выберите "Продукт" > "Редактировать схему"
  • В диалоговом окне "Редактировать схему" выберите элемент Архив (список слева)
  • Изменить Конфигурация сборки на Распространение

У меня была эта проблема после дублирования цели сборки. Первоначальная цель была подписана сертификатом распространения. Однако при копировании цели Xcode решил назначить конфигурацию Release для сборки архива.

Ответ 6

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

В моем случае проблема оказалась "Путь к продуктам". Я установил относительный путь "../../../build" вместо абсолютного пути. Это заставило инструмент Validate завинчиваться, потому что фактический путь не рушился должным образом. Я изменил его на абсолютный путь, и инструмент Validate снова начал успешно запускаться.

Я представил это как ошибку для Radar как # 8946204.

Ответ 7

Это своего рода старый пост, но я хотел поделиться тем, что узнал (действительно помнил, потому что я забыл эту часть.) Я пытался создать свой проект против профиля ad-hock. Я забыл, что мне нужно создать отдельный профиль App Store (Provisioning Portal → Provisioning → Distribution). Это было мое первое приложение, которое я представил, и документация подавляющая, поэтому я пропустил/забыл об этой части. Как только я создал профиль App Store и установил в XCode, все работало нормально. Просто хотел выбросить это там, если у кого-то еще будет такая же проблема.

Ответ 8

Из-за того, что сказал Хироши, вы можете изменить его там: Я просто делаю:

  • Откройте Организатор
  • Перейдите в "Устройства"
  • Профиль Provisioning
  • Нажмите на профиль, который хотите использовать. Там вы увидите ключ идентификатора профиля.
  • Откройте проект xcode через текстовый файл (файл в комплекте xcodepj)
  • Перейдите к этим строкам и введите здесь ключ
@@ -325,6 +325,7 @@
                            PREBINDING = NO;
 +                               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "key goes        here";
                            SDKROOT = iphoneos;
 @@ -361,6 +362,7 @@
                            PREBINDING = NO;
 +                               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "and also here";
                            SDKROOT = iphoneos;
  • Сохранить изменения и перезапустить проект

!!! Что сработало для меня в XCODE 4!!!

Ответ 9

Если вы заходите на Организатор и выбираете Профили Provisioning Profiles, это список, который там указан? Если да, проверили ли вы, что он установлен в разделе "Настройки проекта/сборка/код"?

Ответ 10

Я не уверен, но возврат этих изменений в project.pbxproj избавляет меня от невозможности запуска моего приложения в устройствах. Предупреждающий предмет вопроса остается, хотя.

@@ -325,6 +325,7 @@
                                PREBINDING = NO;
+                               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
                                SDKROOT = iphoneos;
@@ -361,6 +362,7 @@
                                PREBINDING = NO;
+                               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
                                SDKROOT = iphoneos;

Ответ 11

Я исправил это просто, удалив мой сертификат распространения из keychain, а затем снова загрузив его из предварительного профиля

Ответ 13

Простое решение: создайте приложение, используя сертификат DISTRIBUTION, а не сертификат разработчика.