Це може бути дещо емпіричним підходом, але варто перед обличчям багатьох коментаторів, які відзначають або "це працювало для мене", або "це не працювало для мене". По-перше, проблема може полягати в декількох місцях, як у ваших сертифікатах (особи, які підписують код), так і у ваших профілях забезпечення. Визначення, де проблема полягає в першу чергу, перш ніж робити що-небудь, заощадить багато витрачених зусиль. Вам потрібно буде перевіритись у трьох місцях:
- XCode
- Доступ до брелоків
- Портал розробників (Центр учасників розробника)
Гаразд, у XCode натисніть на проект (над заголовком цілей), виберіть "Налаштування збірки" та перейдіть до "Підписання коду". Розгорніть заголовок "CODE_SIGNING_IDENTITY", і ви побачите купу посвідчень (налагодження, випуск тощо). Кожен з них збігатиметься з сертифікатом в Keychain Access. Знайдіть відповідність і перевірте термін придатності ... якщо термін його дії закінчився, вам потрібно буде оновити його на Порталі розробників та завантажити його. Перевірте КОЖНУ особу, а не лише першу, яку ви виявили, термін дії якої закінчився. Крім того, якщо термін його дії закінчився, вам потрібно буде відновити будь-який профіль резервування, який використовував сертифікат з минулим терміном дії. Якщо проблем із сертифікатами не виникає, перевірте термін придатності всіх профілів надання. Ще раз, якщо вони закінчилися, їх потрібно буде відновити.
Після завершення повторіть той самий процес для ЦІЛИ, який ви намагаєтеся створити.
Нічого з цього не спрацювало? Сертифікат з минулим терміном дії ховається в одному з ваших профілів резервування. Ознакою того, що це може бути так, є те, що при натисканні на CODE_SIGNING_IDENTITY особа знаходиться нижче Іншого ... наприклад.
Зазвичай це вірна ознака того, що термін дії сертифікату закінчився, і якийсь із ваших профілів використовує його.