Как исправить «неудачную проверку кода» проекта iPhone? - PullRequest
31 голосов
/ 21 мая 2010

Прошлой ночью проект iPhone был построен идеально.

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

Ошибка приложения проверка. Подпись была недействительным или не был подписан Apple сдаёт сертификат. (-19011)

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

Ответы [ 13 ]

27 голосов
/ 19 сентября 2011

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

  1. Перейти к продукту> Редактировать схему.

  2. Открыть профиль архива.

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

9 голосов
/ 09 августа 2010

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

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

  1. Открыть приложение KeyChain Access
  2. Выберите брелок для входа в систему и выберите в нижней панели «Сертификаты»
  3. Переключитесь на цепочку ключей 'system' и посмотрите, есть ли сертификаты, зарегистрированные в обеих цепочках.
  4. Удалить одного из них
  5. Перестройка приложения
6 голосов
/ 23 мая 2010

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

5 голосов
/ 20 июля 2011

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

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

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

4 голосов
/ 09 декабря 2011

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

  1. В меню выберите View> Navigators> Show Log Navigator. Log Navigator должен отображаться слева.
  2. В списке сборок выберите ту, которая вызывает проблемы. Журнал сборки будет показан на главном экране.
  3. Прокрутите до самого низа. Последние два шага должны быть CodeSign и Validate , где шаг Validate содержит предупреждение.
  4. Разверните CodeSign и проверьте параметры, используемые для выполнения подписи кода.
  5. Разверните Проверьте , чтобы узнать больше об ошибках / предупреждениях.

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

Цель сборки (ваша цель сборки)

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

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

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

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

3 голосов
/ 03 августа 2011

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

  • Открыть органайзер
  • Перейти к устройствам
  • Профиль обеспечения
  • Нажмите на профиль, который вы хотите использовать. Там вы увидите ключ идентификатора профиля.
  • Открыть проект 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 !!!

3 голосов
/ 26 марта 2011

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

3 голосов
/ 02 февраля 2011

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

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

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

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

Для предупреждения о сборке или ошибки проверки архива "Ошибка проверки кода приложения" , см. Полный список потенциальных причин Apple по следующему URL-адресу "Как устранить ошибку: Ошибка проверки кода приложения ? "

Best

0 голосов
/ 03 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...