Термін дії сертифікату або закінчився, або його відкликали


159

Нещодавно я почав кодувати нову програму ios, після тривалої перерви від неї я знову працюю над цим, і я майже завершую.

Я тестую його на тренажері, але коли я спробував встановити його на своєму iphone 6 (що я вже робив у минулому), мені з’явилася помилка, яка повідомила мені, що мій додаток неможливо встановити, оскільки термін дії сертифікату, який використовувався для підписання цього додатка, закінчився або було скасовано

Я спробував багато речей:

  1. Я видалив усі сертифікати та профілі провізора з розробника xcode, брелок і apple, і дозволити xcode створити мені нові
  2. Я видалив xcode і зробив весь процес з самого початку

Але це не вирішило мою проблему.

Будь-яка ідея, в чому може бути проблема?


2
ви, мабуть, можете стати жертвою цього
шістнадцять

після виправлення проблеми ви все ще не пощастили
user6218736

1
незалежно від того, що я отримую: Сертифікат, який використовується для підпису "Моє ім'я програми", закінчився або закінчився або його відкликано. Для підписання та встановлення програми потрібен оновлений сертифікат.
користувач6218736

1
у вас правильний системний час дати?
шестнадцять

Щойно я видалив свій обліковий запис Apple з Xcode, а також видаляю ключі з Keychain і додаю їх знову, Work like Magic. Однак я спробував переважно інші кроки, але мені це не вдалося.
Раві

Відповіді:


279

Редагувати: Ця відповідь не працює для Xcode 10 та новіших версій. Дивіться відповідь туркен.


Рішення

Перш за все, очистіть проект, утримуючи Shift (⇧) + Command (⌘) + K або Виберіть продукт > Clean

Тоді:

  1. Перейдіть до меню Xcode > Налаштування

  2. Виберіть Облікові записи > Команда > Переглянути деталі

  3. Виберіть будь-який профіль Надання зі списку профілів надання

  4. Клацніть правою кнопкою миші> Виберіть Показати в Finder . Тоді ви побачите всі списки профілів резервування

  5. Виберіть увесь список резервів із папки та перемістіть його у кошик

  6. Завантажте всі профілі надання послуг, натиснувши Завантажити все нижче.

Тепер біжіть знову і це має працювати!


2
Радий це чути! :)
Md.Riduanul Islam

2
Так. Ви праві. Автоматичне надання Xcode є кращим способом кодування додатків під час розробки та розповсюдження. Іншими словами, це рекомендований підхід для налаштування ваших проектів як для корпоративних, так і для облікових записів розробників App Store. Перегляньте посилання нижче для детальної інформації: developer.apple.com/library/ios/qa/qa1814/_index.html
Md .Рідуанул Іслам

2
Рятувальник життя! Дякую!
Джоель

7
і я не маю жодної команди / переглядати деталі
user924

2
і це акаунти не є рахунком
user924

80

Редагувати: Ця відповідь не працює для Xcode 10 та новіших версій. Дивіться відповідь туркен.


Я відчув цю проблему і зміг знайти відповідь.

Відповідь, з якої це йде, ви можете знайти тут .

Ось що вам потрібно зробити:

  1. Перейдіть до Налаштування-> Облікові записи
  2. Натисніть на свій рахунок
  3. Натисніть "Переглянути деталі"
  4. Натисніть "Завантажити все" в нижньому лівому куті.

Ці кроки вирішили проблему для мене.


1
Працювали. Дякую Ентоні
GMHSJ

7
переглянути деталі - такої кнопки немає
user924

55

Для тих, хто не може знайти кнопку "переглянути деталі" в обліковому записі> Команда> Переглянути деталі , ось як я вирішив це на Xcode 10 :

  1. Видаліть усі профілі резервування на ~ / Library / MobileDevice / Provisioning \ Profiles /
  2. Очистіть проект, утримуючи Shift (⇧) + Command (⌘) + K або вибравши Product> Clean (він може бути позначений як «Очистити папку збірки» )
  3. Перезавантажте Xcode

і спробуйте ще раз.


1
Я допоміг мені. Я використовую fastlane, і мені довелося видалити всі профілі безпосередньо з ~ / Library / MobileDevice / Provisioning \ Profiles / Очистити проект та перевстановити профілі за допомогою швидкої відповідності ...
Vladimír Slavík

1
Для мене на Xcode 11 це просто необхідно крок 2 кожен раз , перш ніж запускати додаток
tähän

Дійсно дуже корисно. Дякую друже!
Сувора чаурасія

34

У мене було дещо інше рішення. Можливо, це було з оновлень або з мого конкретного випадку використання.

Використання Xcode 7.3.1

Я використовую систему обміну файлами (dropbox) для розробки на двох різних машинах. Використання Download Allрішення мені не виправили це.

Перейшовши за посиланням вище, я скористався порадою

видаліть усі профілі в ~ / Бібліотека / MobileDevice / Надання профілів

(що є крайнім заходом, але Xcode тепер повинен завантажувати те, що вам потрібно)

Xcode запропонував оновитись.

У мене все ще виникає проблема при переключенні між розробкою на різних машинах. У ньому подано таке попередження / несправність:

Право на ідентифікатор програми для цієї програми не відповідає визначенню встановленої програми. Ці значення повинні відповідати, щоб було дозволено оновлення.

Вирішення цього питання полягає в тому, щоб видалити елемент розробки з пристрою, і він буде потім перевстановлений.


Це працювало для мене. У XCode не відображалося жодних профілів надання, тому я не міг їх видалити звідти.
henrikmerlander

Що відбувається з видаленими сертифікатами? Чи все-таки я зможу запускати ці проекти? (це працювало для мене, хоча у мене є ці запити)
Гель,

@gel видалені сертифікати повинні бути перезавантажені Xcode, коли вони вам потрібні
bshirley

25

Простий "Очистити" ( Shift (⇧) + Command (⌘) + K ) вирішено для мене


Я шанувальник чистого та чистого складання, але ніколи не думав робити це у цьому випуску! Дякую йою! :) Будь ласка, виконайте Command + AltOption + Shift + K, щоб очистити збірку лише для того, щоб переконатися.
Гленн

Це добре (я це роблю кожен раз), але недостатньо. Видалення всіх профілів резервування на ~ / Library / MobileDevice / Provisioning \ Profiles / працювало для мене.
Рафаель Пінель

11

Знайдено інший випадок, який призводить до кривавої Certificate has either expired or has been revokedпомилки в Xcode 9. Якщо ви намагаєтесь підписатись з дійсним сертифікатом, але у вас є інший відкликаний сертифікат в тій же команді на вашому брелоку, Xcode видає цю помилку. Щоб перевірити, чи справді ви відкликали сертифікат, див Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates. Видалення відкликаного сертифіката Keychain Accessвирішує це. Схоже, ще одна помилка знаку коду у Xcode.


Це те, що працює для мене. Я знайшов рішення сам, але радий, що його вже поділили
Gee.E

3

У Xcode 8,

  1. Перейдіть до Налаштування-> Облікові записи
  2. Натисніть на свій рахунок
  3. Натисніть "Переглянути деталі"
  4. Видаліть профіль, який вам потрібен
  5. Натисніть "Завантажити все" в нижньому лівому куті.

Це вирішило це для мене, за винятком випадків, коли мені довелося 3 рази натискати "Завантажити все" через випадкові повідомлення про помилки.
судо

2

-Open Keychain - Перевірте всі сертифікати, вибравши їх. - Перевірте стан, чи він дійсний чи ні. -Якщо сертифікат недійсний, тоді клацніть правою кнопкою миші та видаліть його


2

Нова проблема з Xcode 8, яка працювала для мене, полягала в тому, щоб вимкнути новий прапорець "автоматично керувати підписом" на вкладці Загальні для цілі, а потім увімкнути його знову.

Це ініціює вбудованого майстра, який налаштовує речі правильно для Xcode 8.


Це працювало для мене, але не до того часу, поки я також не перезапустив свій Mac, і в цей момент (при запуску XCode) діалогове вікно запропонувало мені можливість відкликати сертифікат ... Я це зробив, потім увімкнув управління автоматичним підписом (яке я не перевіряв перед перезапуском). +1 за те, що не потрібно видаляти жодні сертифікати!
kwishnu

2

Нарешті для мене спрацювало - вимкнути та перезапустити свій MacBook після завантаження останніх профілів резервування.


Працює і для мене. Але мені цікаво, у чому полягає власне проблема.
umairhhhs

2

Я просто зняв прапорець "Автоматично керувати підписом і перевіряв його ще раз, вибравши Команду, і це працювало на мене введіть тут опис зображення


2

У мене виникла ця проблема, і це виглядало як помилка в 10.x новій системі збирання xcode .

  1. Перейдіть у меню Файл> Налаштування проекту. Змініть систему побудови для використання Legacy build system.

  2. Глибоко очистіть проект, утримуючи Option (⎇) + Shift (⇧) + Command (⌘) + K або утримуючи Option (⎇) та вибравши Product> Clean Build Folder

  3. Запустити на пристрої


2

У Xcode 11 .3.1 інтерфейс змінився з усіх поточних відповідей.

  1. Перейдіть у меню "Xcode"> Налаштування> Облікові записи.
  2. Виберіть належний ідентифікатор Apple зліва для проекту.
  3. Якщо профіль все ще активний, натисніть «Керувати сертифікатами».
  4. Якщо є відкликані сертифікати, клацніть правою кнопкою миші відкликаний сертифікат (и) та "Видалити сертифікат". На екрані, що додається, сертифікат, позначений кольором червоного кольору, слід видалити.

Скасований знімок сертифіката

Видалення останнього сертифіката "Дата створення" має оновити ваш сертифікат, але рекомендується видалити всі відкликані сертифікати.

Після видалення відкликаних сертифікатів, ви повинні мати можливість відновити додаток.



1

Якщо ні видалення, ні повторне завантаження профілів, ні "Очистити" це не допомагає:

Налаштування> Облікові записи> Ідентифікатори Apple> виберіть обліковий запис > виберіть команду > Переглянути деталі ...> скиньте свою підписку (в моєму випадку розробка iOS).

Це завжди працювало для мене.


можу підтвердити, що це спрацювало для мене, коли будь-яка інша відповідь / рішення не вдалася, крім того, я також завантажив усі профілі
вдень

3
Не бачите "Переглянути деталі" та немає "Скинути свій підпис"
gman

@gman, ви праві, вони знову змінили інтерфейс користувача. Зараз я не впевнений, як це зробити.
Олександр Сосновщенко

1

1.Змініть налаштування часу Вашого Mac на автоматичне (Відкрити налаштування дати та часу, встановіть дату та час автоматично).

2. Після цього перейдіть до свого коду X, очистіть і запустіть код.

3. Якщо це не вдалося, вийдіть зі свого профілю Apple і видаліть усі автоматично створені профілі забезпечення в XCode - налаштування та перемістіть усі профілі надання, щоб перенести їх у кошик та завантажити як новий файл. Потім знову увійдіть і запустіть свій код.


1

Якщо у вас є тестова ціль хоста, яку ви запускаєте на пристрої, переконайтеся, що вона використовує ту саму ідентифікацію підпису коду, яку використовує ціль програми. Інакше вам доведеться чистити, коли ви переходите між тестуванням та налагодженням програми.

У мене виникла ця проблема в Xcode 11.4.1, коли ми вимкнули підписання коду в нашому тестовому хості як покращення часу нарощування. Після повернення коду для тесту хоста я більше не відчував цієї проблеми, коли перемикався між запуском цілі тесту хоста та програмою!


0

перейменуйте свій каталог, не містять десяткової точки & 0 (нуль).

як це я вирішую.


0

Жодне із запропонованих досі рішень не працювало (хоча всі вони правильні), і видалення проекту Xcode з диска та його повторне клонування з репо не вирішили для мене.


0

Іноді в Xcode 8 ви можете опинитися в циклі відкликання-відновлення, коли ви дозволяєте Xcode 8 "виправити" сертифікати та резервування, потім Xcode виявить, що нові / відновлені сертифікати також є недійсними, і ви повернетесь назад, щоб скасувати, і це триває.

У таких випадках перевіряйте свій час на MacOS! Якщо у вас встановлено інший час, а не реальний поточний час, новий сертифікат може завжди "ще не бути дійсним".


0

Це не велике питання, з яким я стикався. Просто очистіть проект і перезавантажте свій xcode !! Сподіваюся, це буде працювати для вас! Це працює для мене. :)

Або спочатку очистіть проект, утримуючи Shift (⇧) + Command (⌘) + K або Виберіть продукт> Clean

Тоді

Перейдіть до меню XCode> Налаштування

Виберіть Рахунок> Команда> Переглянути деталі

Виберіть будь-який профіль Надання зі списку профілів надання

Клацніть правою кнопкою миші> Виберіть Показати в Finder . Тоді ви побачите всі списки профілів резервування

Виберіть увесь попередній список із папки та перемістіть його у кошик

Завантажте всі профілі надання послуг, натиснувши Завантажити все нижче.

Тепер, запустіть ще раз, і це має працювати!


0

З Xcode Version 10.1Я вирішив з цими кроками:

  1. Перейти до Xcode, Preferencesі виберітьAccounts вкладку
  2. У розділі облікових записів натисніть на шестерню в нижньому лівому куті вікна, а потім натисніть на Export Apple ID and Code Signing Assets...експорт цього файлу, наприкладTest.developerprofile
  3. Видаліть профіль, який ви використовуєте
  4. Клацнувши знову на шестірні, виберіть Import Apple ID and Code Signing Assets...раніше експортований файлTest.developerprofile
  5. Тепер виконайте Clean( Shift (⇧) + Command (⌘) + K ) і a Build( Command (⌘) + B )
  6. Біжи знову

0

У мене виникла ця проблема після зміни мого облікового запису електронної пошти.

Після того, як випробував стільки можливих рішень, єдиним, що працювало, було лише видалити сертифікат, створений в той день, з мого акаунта розробника Apple . (Це був не єдиний сертифікат у моєму обліковому записі). Здається, що новий сертифікат створювався автоматично, і він суперечив головному.


0

У мене те саме питання. Я вирішив після очищення Проекту (Shift (⇧) + Command (⌘) + K), вийду з Xcode та відкрийте знову.


0

Використання Xcode 10.3

Виконайте такі дії:

  1. Перейдіть на сторінку https://developer.apple.com
  2. Дотримуйтесь Account> Certificates, Identifiers & Profiles>Devices
  3. Знайдіть свій iPhone зі списку та натисніть на нього. Це відкриє сторінку деталей
  4. Вимкніть, а потім увімкніть його
  5. Перейдіть до Xcodeвибору вашого iPhone та запустіть його

Не забудьте зайти Settings> General> Device Managementдовіряти облікового запису розробника



0

Іноді "Ідентифікатор групи" в Xcode змінюється через деякі речі, які ви створили. Переконайтесь, що ідентифікатор групи, визначений у вашому обліковому записі розробника Apple, точно такий же, як і в Xcode.


0

Якщо це допомагає комусь: Xcode 11.x, я відкликав також (видалив) сертифікат у акаунті розробника додатків. Тоді я подумав, що видалив сертифікат також у доступі до Keychain, але продовжував отримувати повідомлення про помилки, коли намагався завантажити оновлення програми в AppStore.

Потім я з’ясував, що в доступі до брелоків є два окремих місця, де в одному зберігається сертифікат (досить смішно під клавішами, як тільки вхід буде обраний у брелках), а в іншому - приватний ключ (звичайно, під сертифікати на предмет у брелоки). Я переконався, що обидва видалено і тепер усе добре.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.