Правильний спосіб поновити сертифікат розповсюдження для iOS


303

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


7
З будь-якої причини, не користуючись цим обліковим записом протягом багатьох років, я отримав сповіщення про цю відповідь. Я не мертвий (поки що). Я також просто хотів би подякувати всім на StackOverflow протягом багатьох років за те, що вони мені допомагали. Я написав це запитання, коли мені було 14 (зараз 21 рік). З тих пір я продовжував робити додатки для iOS і незабаром розпочну повноцінну роль в Apple (моя мрія до тих пір, як я пам'ятаю). Ще раз дякую всім, хто допоміг по дорозі!
користувач1413558

чудова історія! так минають роки! Ви навіть не уявляєте, як програмування було зроблено перед онлайн-контролем якості. ура
Fattie

@Fattie Чому попередження? Невеликі зміни інтерфейсу користувача на сторінках Apple, осторонь відповіді все ще правильні. Не все автоматично стає неправильним лише тому, що воно старе.
Тео

привіт @Theo, я думаю, що було тривале обговорення (зараз видалено), тому мій коментар (я його просто видалив!) не має особливого сенсу, дякую за вказівку. Зауважте, що в цьому конкретному випадку відповідь, що позначено 5 років, містить неправильну інформацію, як, наприклад, пояснює SLBarth.
Fattie

Відповіді:


357

Ваші живі програми не будуть зняті. Нічого не трапиться нічого, що живе в магазині додатків.

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

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

Щодо профілю резервування, не хвилюйтеся про нього до закінчення терміну дії, просто продовжуйте його використовувати. Досить просто його відновити, коли термін його дії закінчиться.

Спокійний стан полягає в тому, що з вашим живим додатком у магазині нічого не станеться.


7
Дякую, вони минули сьогодні. Поновили їх без проблем.
користувач1413558

30
Просто фій для інших людей. Я відкликав сертифікат, що використовується для розповсюдження підприємства, і НЕ було надано можливість поновити сертифікат. Це просто пішло. Додаток було вимкнено (не встановлено), поки я не відновив його з новим сертифікатом.
складанийлеттус

34
Гей, не скасовуй внутрішній сертифікат !! Ваші власні додатки не працюватимуть після перезавантаження / 3днів, якщо ви не зможете оновити всі додатки в цей період часу. Apple дозволяє створити 2 власні додатки, щоб вони могли перекриватися один з одним, а потім ви оновите свої нові додатки за допомогою нього. Не відміняйте це. Єдине, що можна відкликати - це App-Store Cert, не зупиняючи існуючі додатки.
mskw

13
Строго кажучи, ви не можете поновити сертифікати, вам потрібно створити нові - див. Developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
mklement0

2
Оновлено посилання на документи Apple на це: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix

348

Коли термін дії вашого сертифікату закінчується, він просто зникає з розділу "Сертифікати, ідентифікатор та профілі" Центру-члена. Немає кнопки "Поновити", яка дозволяє поновити сертифікат. Ви можете відкликати сертифікат і генерувати новий до його закінчення . Або ви можете дочекатися його закінчення та зникнення, а потім створити новий сертифікат. У посібнику Apple щодо поширення додатків :

Заміна сертифікатів з минулим терміном дії

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

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

Питання: Якщо я це зроблю, тоді будуть зняті всі мої додатки?

Програми, які вже є в App Store, продовжують функціонувати добре. Знову в посібнику Apple щодо поширення додатків :

Важливо: Повторне створення сертифікатів розробки чи розповсюдження не впливає на програми, які ви подали в магазин, а також не впливає на вашу здатність оновлювати їх.

Тому…

Питання: Як я належним чином оновити його?

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

Крок 1: Скасувати сертифікат, що закінчується

Увійдіть до Центру учасників > Сертифікати, ідентифікатори та профілі, виберіть сертифікат, що закінчується. Візьміть до уваги дату закінчення терміну дії сертифіката та натисніть кнопку "Скасувати".

Виберіть сертифікат, що закінчується, та натисніть кнопку Скасувати

Крок 2: (Необов’язково) Видаліть відкликаний сертифікат зі свого брелка

За бажанням, якщо ви не хочете, щоб відкликаний сертифікат лежав у вашій системі, ви можете його видалити зі своєї системи. На жаль, функція "Видалити сертифікат" у Xcode> Налаштуваннях> Облікові записи> [Apple ID]> Керувати сертифікатами ..., здається, завжди відключена, тому нам доведеться видаляти їх вручну за допомогою Keychain Access.app (/ Додатки / Утиліти / Доступ до брелоків). додаток).

Необов’язково видаліть відкликаний сертифікат за допомогою Keychain Access.app

Фільтруйте за ключовими ланцюжками "Логін" та Категорією "Сертифікати". Знайдіть сертифікат, який ви щойно відкликали в кроці 1.

Залежно від сертифіката, який ви щойно відкликали, знайдіть або "Mac", або "iPhone". Сертифікати розповсюдження Mac App Store починаються з "стороннього розробника Mac", а сертифікати розповсюдження iOS App Store починаються з "дистрибуції iPhone".

Ви можете знайти відкликаний сертифікат на основі назви команди, типу сертифіката (Mac або iOS) та дати закінчення терміну дії сертифіката, який ви зазначили на кроці 1.

Крок 3: Запросіть новий сертифікат за допомогою Xcode

У розділі Xcode> Налаштування> Облікові записи> [Apple ID]> Керування сертифікатами ... натисніть кнопку "+" внизу ліворуч та виберіть той самий тип сертифіката, який ви лише скасували, щоб дозволити Xcode запитувати новий для вас. .

Нехай Xcode запитує новий сертифікат для вас у Xcode> Налаштування> Облікові записи> Apple ID> Керуйте сертифікатами ...

Крок 4: Оновіть свої профілі резервування, щоб використовувати новий сертифікат

Після цього поверніться до Центру учасників > Сертифікати, ідентифікатори та профілі> Надання профілів> Усі. Ви помітите, що будь-який профіль резервування, який використовував відкликаний сертифікат, тепер відображається як "Недійсний".

Зауважте, що будь-який профіль резервування, який використовував відкликаний сертифікат, тепер відображається як "Недійсний"

Клацніть будь-який профіль, який зараз є "Недійсним", натисніть "Редагувати", потім виберіть новостворений сертифікат, а потім натисніть "Створити". Повторіть це, доки всі профілі резервування не будуть відновлені за допомогою нового сертифіката.

Виберіть новостворений сертифікат і натисніть кнопку Створити

Крок 5: Використовуйте Xcode для завантаження нових профілів забезпечення

Порада : Перш ніж завантажувати нові профілі за допомогою Xcode, можливо, ви захочете очистити будь-які існуючі та, можливо, недійсні профілі забезпечення зі свого Mac. Це можна зробити, видаливши з нього всі профілі~/Library/MobileDevice/Provisioning Profiles

Назад у Xcode> Налаштування> Облікові записи> [Apple ID] натисніть кнопку "Завантажити всі профілі", щоб попросити Xcode завантажити всі профілі резервування з вашого облікового запису розробника.

Клацніть Завантажити всі профілі для Xcode, щоб завантажити всі новостворені профілі


1
Привіт Джунджі, дякую! Я зіткнувся з цією проблемою з Xcode 7. Що відбувається з програмами, випущеними з профілем надання AdHoc розповсюдження, якщо я відкликаю сертифікат на розповсюдження? Вони ще живі? Спасибі
Фрейд

3
@Frade згідно Apple: Сертифікат розповсюдження iOS (власні додатки для внутрішнього використання) Користувачі більше не зможуть запускати програми, підписані цим сертифікатом. Ви повинні поширити нову версію свого додатка, яка підписана новим сертифікатом. Дивіться developer.apple.com/support/certificate
junjie

Я питав про AdHoc, але, напевно, така ж ситуація. Спасибі
Фрейд

3
@junjie Що трапиться у випадку, якщо додаток, опублікований у магазині, має права на push-сповіщення? Чи зможе вона ще надсилати push-повідомлення після закінчення терміну дії сертифікату?
Otávio

4
@ Otávio, ваші сертифікати на розповсюдження додатків (з чим ми маємо справу в цьому питанні) є окремими від вашого сертифіката APNS. сертифікат APNS не є частиною бінарного додатка. ви можете відкликати / поновити сертифікат APNS, не оновлюючи бінарний додаток. саме ваш push-сервер вимагає сертифіката APNS.
липня

21

Станом на січень 2020 року та Xcode 11.3.1 -

  • Відкрийте Xcode
  • Відкрийте налаштування Xcode (Xcode-> Preferences або Cmd-,)
  • Клацніть на Облікові записи
  • Зліва натисніть свій ідентифікатор розробника
  • У нижньому правому куті натисніть кнопку Керувати сертифікатами ...
  • У нижньому лівому куті натисніть стрілку праворуч від знаку + (плюс)
  • Виберіть у меню Apple Distribution

Xcode автоматично створить сертифікат розповсюдження Apple, встановить його в Keychain Access та оновить інформацію про підпис Xcode

(Примітка: єдиний сертифікат розповсюдження Apple тепер надається замість попереднього сертифікату розповсюдження iOS та його еквівалентів.)


цікаво: отримав пошту від Apple, щоб поновити сертифікат розповсюдження iOS. немає інформації про те, що я повинен створити сертифікат розповсюдження Apple.
ekkescorner

Електронний лист не згадує про це, @ekkescorner. Це в документах онлайн.
leanne

2
цей новий робочий процес для відновлення сертифікатів звучить занадто просто ;-) thx знову
ekkescorner

Дякую @leanne за відповідь. Має бути варіант експірації для давніх нерелевантних відповідей, наведених вище в ТА.
RobMac

11

Дуже просто було поновити свій сертифікат. Перейдіть до центру учасників розробника та перейдіть до свого профілю надання та перегляньте, що таке сертифікат Active and InActive, виберіть неактивний сертифікат і натисніть кнопку Edit, а потім натисніть кнопку Generating. Тепер ваш сертифікат успішне поновлення ще на 1 рік. Дякую


@Shanmugasundharam, Чи повинен ми створити нову версію в магазині додатків після створення профілю Provisioning.
Ніраж Пол

Для цього все ж потрібен файл .csr, сформований із xcode, принаймні, з того, що я знайшов. Від developer.apple.com/account я переходжу до "Сертифікати, ідентифікатори та профілі" -> "Профілі". Я бачу ReleaseProfile і TestingProfile. Обидва показують "Недійсний" у стовпці "Термін дії". Я натискаю на ReleaseProfile, потім "Редагувати". У розділі "Сертифікати" написано "Немає сертифікатів недоступних" кнопкою "Створити сертифікат". Я натискаю на нього. Потім вибираю "Розповсюдження iOS" та "Продовжувати". Тепер, щоб створити його, мені потрібно "Вибрати файл", тобто завантажити файл CSR, який, напевно, можна генерувати лише з xcode.
Brent212

Зрозуміло, що я можу генерувати КСВ просто запустивши, в Linux: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** Не можу повірити, що так багато відповідей "як генерувати сертифікат csr", який вимагає xcode, не згадуючи про це просте рішення, яке не вимагає пилу з мого старого Mac і запуску об'ємного IDE.
Brent212

@NirajPaul Ваша програма все одно буде працювати для користувачів, які завантажили її з магазину, і вона навіть буде працювати для вас, якщо ви завантажите її з магазину. Це впливає лише на користувачів, які розміщують додаток на пристрої за допомогою профілю резервування (тобто ви створили його та встановили на своєму пристрої з xCode). Користувачі минулого, теперішнього та майбутнього не помітять нічого іншого. stackoverflow.com/a/7128502/3493877 Джерело звідси
Shanmugasundharam

0

Це справді була корисною темою, я дотримувався тих же кроків, що й згаданий @junjie, але для мене сталося щось дивне, нижче - кроки, які я зробив.

  1. Перейшов на портал розробників і відкликав сертифікат, який вже скоро закінчився.
  2. Перейшов до XCode6.4 і в налаштуваннях облікового запису сертифікат все-таки показав дійсне, я зійшов з розуму.
  3. Потім я відкрив XCode7, там сертифікат був показаний кнопкою «Скинути» замість створення, і я натиснув кнопку скидання, а пізніше на порталі я міг побачити присутній розширений сертифікат. Це те, що Apple говорить про кнопку Скидання

Якщо Xcode виявить проблему з особою підпису, вона відображає відповідні дії в налаштуваннях облікових записів. Якщо на Xcode відображається кнопка Create, ідентифікатор підпису не існує в Центрі членів або на вашому Mac. Якщо на Xcode відображається кнопка "Скидання", ідентифікатор підпису не використовується на вашому Mac - наприклад, у ньому відсутній приватний ключ. Якщо натиснути кнопку Скидання, Xcode відкликає та вимагає відповідного сертифіката.

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