Идентификатор, используемый для подписи исполняемого файла, больше не действителен - PullRequest
171 голосов
/ 17 августа 2011

У меня есть приложение, которое я отлаживаю на iPad. 2 дня назад я хотел отладить то же обновленное приложение, но у меня эта ошибка.

Идентификатор, используемый для подписи исполняемого файла, больше не действителен.

Пожалуйста, убедитесь, что часы вашего устройства установлены правильно, и что ваш Срок подписания сертификата не истек.

(0xE8008018).

У меня еще нет сертификата iPhone Developer, но я однажды отлаживал эту игру.

Ответы [ 40 ]

234 голосов
/ 30 декабря 2014

Ни перезапуск Xcode, ни перезапуск моего Mac не помогли.

Решение в Xcode:

  1. В Xcode перейдите в «Настройки» -> «Аккаунты» -> «Подробнее»
  2. Нажмите символ «+» и выберите iOSРазработка
  3. Нажмите кнопку обновления в левом нижнем углу (называемую Download all в Xcode 7)

PS:

  • Иногда этоможет также помочь удалить недействительные профили обеспечения: щелкните правой кнопкой мыши -> перейти в корзину
  • Я увидел эту ошибку ровно через год после регистрации в качестве разработчика Apple.
91 голосов
/ 06 июня 2012

Попробуйте перезапустить XCode.У меня это сработало.

59 голосов
/ 03 мая 2013

Это может произойти, когда срок действия вашего сертификата истечет в вашей цепочке для ключей.

РЕДАКТИРОВАТЬ : теперь я бы порекомендовал cert и sigh для создания ваших сертификатов и профилей обеспечения. Это две команды, входящие в состав fastlane инструментов от KrauseFx.

Используя cert & sigh:

  1. Откройте терминал и введите cert
  2. Ответьте на предложенные вопросы, чтобы указать своего пользователя, пароль, команду, приложение и т. Д.
  3. Откройте терминал и введите sigh
  4. Ответьте на предложенные вопросы, чтобы указать своего пользователя, пароль, команду, приложение и т. Д.
  5. Выберите правильный профиль в Идентификации подписи кода (iPhone Developer)

Обычный способ:

  1. Просто перейдите на новый портал обеспечения: Сертификаты, Идентификатор, Профили
  2. Войдите под своей учетной записью разработчика.
  3. Перейдите в Сертификаты и нажмите кнопку «Плюс».
  4. Затем выберите «Разработка приложений для iOS» и нажмите «Продолжить».
  5. Выполните весь процесс и загрузите только что созданный сертификат.
  6. Загрузите его и положите в брелок.
  7. Обновите свои профили из окна устройств XCode Organizer
  8. Выберите правильный профиль в Идентификации подписи кода (iPhone Developer)
22 голосов
/ 14 октября 2014

Если все выше предыдущие предложения терпят неудачу после обновления вашего сертификата, как они сделали для меня, перейдите по следующему адресу:

~ / Библиотека / MobileDevice / Предоставление профилей

... и удалите свои профили обеспечения.

Затем снова загрузите свой профиль обеспечения с;

https://developer.apple.com/account/ios/profile/profileList.action

6 голосов
/ 04 июня 2013

Если вы используете джейлкодер, убедитесь, что вы успешно взломали свой iphone.Не забудьте установить AppSync для IOS в Cydia.

5 голосов
/ 21 марта 2016

Ваши профили инициализации устарели.

  1. xcode
  2. Настройки
  3. Аккаунты
  4. Выберите идентификатор Apple
  5. Подробности (правый нижний угол)
  6. Загрузить все
  7. Запустить снова и СДЕЛАНО!
5 голосов
/ 04 апреля 2014

В последнем обновлении от xcode эта проблема обычно возникает, когда срок действия вашего сертификата истек, а xcode продолжает использовать старый, пока не истек срок его действия.

Закрытие xcode и его повторное открытие приведет к автоматическому запуску процессазагрузка нового сертификата и запуск вашего приложения.

Просто закройте xcode прямо вниз (Cmd + Q), затем снова откройте его, загрузите ваш проект и нажмите play ... он спросит вас, хотите ли выпомощь в автоматическом устранении проблемы с сертификатом, тогда вы просто следуйте инструкциям на экране, и он сделает всю тяжелую работу за вас:)

4 голосов
/ 13 мая 2015

Это может быть эмпирический подход, но он стоит того, чтобы многие комментаторы отмечали, что «это сработало для меня» или «это не сработало для меня».Во-первых, проблема может заключаться в нескольких местах: в ваших сертификатах (идентификаторах подписи кода) или в ваших профилях обеспечения.Определение того, в чем заключается проблема, прежде чем что-либо предпринимать, сэкономит много напрасных усилий.Вам нужно будет проверить в трех местах:

  1. XCode
  2. Доступ к цепочке для ключей
  3. Портал разработчика (Центр для разработчиков)

ОК, в XCode щелкните «Проект» (над заголовком «Цели»), выберите «Настройки сборки» и перейдите к «Подписи кода».Разверните заголовок «CODE_SIGNING_IDENTITY», и вы увидите несколько идентификаторов (Debug, Release и т. Д.). Каждый из них будет совпадать с сертификатом в Keychain Access.Найдите совпадение и проверьте дату истечения срока действия ... если срок его действия истек, вам необходимо обновить его на портале разработчика и загрузить.Проверяйте КАЖДУЮ личность, а не только первую, срок действия которой вы найдете.Кроме того, если срок его действия истек, вам потребуется заново создать профиль обеспечения, в котором использовался просроченный сертификат.Если проблем с сертификатами нет, проверьте срок действия всех профилей обеспечения.Еще раз, если срок их действия истек, их необходимо будет восстановить.

После завершения повторите тот же процесс для ЦЕЛИ, для которой вы пытаетесь построить.

Ничего из этого не сработало?Истекший сертификат скрывается в одном из ваших профилей предоставления.Признак того, что это может иметь место, заключается в том, что когда вы нажимаете CODE_SIGNING_IDENTITY, идентификатор становится ниже другого ... например. xcode example of dodgy identity

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

3 голосов
/ 17 июня 2015

У меня была эта проблема с XCode 6.3 Ниже приведены шаги, которые сработали для меня.

Перейдите на XCode > Preferences > Accounts Выберите учетную запись разработчика и нажмите View Details... Нажмите кнопку refresh в левом нижнем углуокна.Он должен уведомить вас, что вам не хватает нескольких сертификатов.Нажмите Request.XCode автоматически должен загрузить недостающие сертификаты.Нажмите Done, и оно должно работать.

3 голосов
/ 15 декабря 2014

Я столкнулся с этой проблемой, когда срок моего членства истек, и я возобновил его. Я использую xCode6, и я решаю эту проблему, отменив сертификат разработчика с истекшим сроком действия из Member Center и очистив папку сборки (alt + [Product> Clean]). xCode обрабатывает другие проблемы самостоятельно.

См. Раздел « Замена устаревших сертификатов » по этой ссылке: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

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