Что, если в процессе подписи кода сертификата/пары ключей в App Store возникнут постоянные проблемы?

Моя компания работает с несколькими другими компаниями, чтобы удовлетворить их потребности в разработке iPhone, и во многих случаях другие компании уже имеют некоторые существующие приложения в App Store.

Мы также обрабатываем для них отправку в App Store, и в ситуациях, когда у них уже есть существующее приложение, в их учетной записи iOS Dev Center уже создан сертификат распространения. В этом случае мы должны получить пару ключей, которая была сгенерирована, когда они (или нанятый ими сторонний разработчик) создали сертификат. Все это время я понимал, что это необходимый процесс для работы с App Store.

Но со временем я задаюсь вопросом о нескольких вещах

  1. Что произойдет, когда срок действия сертификатов истечет? Я знаю, что мы создаем новые, но это означает, что приложения в App Store подписаны сертификатом/парой ключей, отличной от той, с которой они были созданы. Это существенно? Или я могу по-прежнему обновлять существующие приложения в App Store даже с новым сертификатом/парой ключей (из той же учетной записи iOS Dev Center)

  2. Что произойдет, если пара ключей для существующего сертификата будет потеряна? Допустим, компания сделала приложение раньше, но Macintosh, которым они пользовались до этого, был сбит метеоритом. И никаких резервных копий, естественно. Мне придется отозвать и воссоздать сертификат — будет ли это иметь какое-либо значение для существующего опубликованного приложения? Если бы у меня был исходный код этого приложения и мне нужно было бы выпустить обновление, смог бы я это сделать?

По сути, я спрашиваю: существуют ли какие-либо сценарии «испортить это навсегда», связанные с сертификатами разработки и распространения iOS, которые не позволят вам обновить существующие приложения? Я знаю, что если вы не сделаете резервную копию хранилища ключей в разработке для Android, то вы просто обречены на публикацию обновлений, но есть ли способ просто полностью испортить разработку для iOS?

И бонусный вопрос: если я могу просто отозвать сертификаты разработки и выдать их повторно без каких-либо последствий, всегда ли так работало? Или они изменили процесс? Я вижу, где «цепочка доказательств» всегда может быть связана с учетной записью агента Центра разработки iOS, и это будет корнем вещей, но это что-то новое?


person Tom Kidd    schedule 17.05.2012    source источник
comment
Это хороший вопрос - по сути, постоянных проблем быть не может. Я считаю, что с Android (если он не изменен) вы можете потерять этот важный ключ, и вы облажались; к счастью, такой аналогии со сценой iOS нет. Вы просто делаете новые ключи.   -  person Fattie    schedule 08.07.2015


Ответы (1)


Сертификат распространения используется только для отправки в iTunes Connect (и Ad Hoc). После утверждения Apple подписывает приложение другим бессрочным сертификатом, прежде чем поместить приложение в магазин приложений, поэтому состояние сертификата распространения разработчика больше не имеет значения.

Загруженное или приобретенное приложение будет продолжать работать на устройстве клиента, даже если срок действия сертификатов разработчика и регистрации iOS истечет. Но разработчик должен вовремя повторно зарегистрироваться (99 долларов в год), если он хочет, чтобы его приложение оставалось видимым в магазине приложений.

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

Если вы потеряете пару ключей, руководителю группы придется отозвать и сгенерировать новые сертификаты и положения, а также обновить все свои цепочки ключей и обеспечение Xcode, а также, возможно, настройки проекта/цели. Путаница в отношении того, какие сертификаты и положения являются действующими, а какие мертвыми, доставила некоторым разработчикам серьезную головную боль.

person hotpaw2    schedule 17.05.2012