Профили Ad-Hoc Provisioning состоят из трех основных элементов:
- Ровно 1 AppID
- Открытый ключ вашего сертификата распространения
- Один или несколько идентификаторов зарегистрированных тестовых устройств
Когда вы впервые сгенерировали этот профиль обеспечения (около года назад, если срок действия вашего текущего скоро истечет!), вы указали ему использовать ваш текущий сертификат распространения при создании этого профиля обеспечения — дата истечения срока действия результирующего специального профиля установлена на соответствовать истечению срока действия сертификата распространения, поскольку вы не можете запустить приложение, подписанное с просроченным сертификатом (в сторону: это не обязательно применимо к сценариям с джейлбрейком...)
Ваш главный вопрос «Можно ли это исправить без отзыва?» твердое «Нет» — даже если бы вы могли внести коррективы, срок действия сертификата распространения, срок действия которого скоро истекает, приведет к тому, что срок действия вновь выпущенного специального профиля будет совпадать со сроком действия сертификата распространения. Вы вернетесь в ту же ситуацию через 14 дней, когда срок действия вашего сертификата и профиля подготовки истечет. К сожалению, в это время у вас также возникнет новая проблема: любые существующие сборки, которые вы отправляете своим тестировщикам, больше не будут запускаться, поскольку срок действия сертификата подписи и профиля подготовки истекает.
Вместо этого, эти последние две недели — это ваша возможность проявить инициативу и перевести своих пользователей на новую сборку с новым сертификатом и профилем подготовки. С моими собственными тестировщиками я рассматриваю последние несколько недель моего текущего Сертификата распространения как окно миграции, чтобы переключать сборки и заставлять своих тестировщиков загружать и устанавливать последнюю тестовую сборку, чтобы они могли продолжить свое тестирование. Хорошая новость заключается в том, что вы заметили, что срок действия ваших сертификатов истекает, и у вас более чем достаточно времени, чтобы исправить ситуацию и перевести своих тестировщиков — некоторым не так повезло, и им приходится играть в догонялки после истечения срока действия, и тестировщики кричат о сбое вашего приложения. / больше не запускается ... определенно нежелательный результат для любого разработчика, особенно если вы работаете в одиночку и должны самостоятельно координировать взаимодействие между разработчиками и бета-тестерами.
Итак, что мне делать?
На высоком уровне выполнение миграции почти идентично настройке этого специального профиля в первый раз — для этого требуется просто очистить старые данные из вашей цепочки для ключей и профилей подготовки, а также отправить несколько тестовых электронных писем, поощряющих вашу команду обновить, как только вы сделаете новую сборку доступной для них. На высоком уровне этот процесс выглядит так:
- Отзовите свой существующий Сертификат распространения и повторно выпустите новый Сертификат распространения.
- Удалите существующий сертификат распространения из вашей цепочки для ключей и установите новый.
- Обновите и установите теперь «недействительный» профиль Ad-Hoc, чтобы использовать только что созданный сертификат распространения.
- При необходимости обновите настройки сборки подписи кода.
- Создавайте и выпускайте свою специальную сборку для тестировщиков.
Подождите. Не повлияет ли отзыв существующего сертификата на работу моих тестировщиков?
Нет, ни капельки! Ваши существующие сборки Ad-Hoc будут продолжать отлично работать до истечения срока действия, потому что они содержат всю информацию, необходимую для проверки подписи кода, прямо внутри сборки Ad-Hoc, которую вы им уже отправили. Однако по истечении срока действия сертификата ничего не запустится, и в ваших руках будут кричащие тестеры.
Я собираюсь предположить, что вы используете Индивидуальную учетную запись, поэтому сертификаты будут отображаться в формате «Разработчик iPhone: Имя Фамилия» и «Распространение iPhone: Имя Фамилия». Если вы используете учетную запись компании, формат будет немного отличаться. Я также предполагаю, что у вас есть только одна учетная запись; если вы зарегистрированы в нескольких учетных записях разработчика, будьте особенно осторожны при поиске и удалении существующих сертификатов и профилей из цепочки для ключей, так как может быть несколько похожих записей.
Для начала выйдите из Xcode, а затем перейдите на страницу developer.apple.com/ios и войдите в область «Сертификаты, идентификаторы и профили». Ранее он назывался «Центр снабжения».
Отзыв и повторный выпуск сертификата распространения
- Перейдите в область сертификатов распространения.
- Найдите сертификат распространения, срок действия которого скоро истечет, и отзовите его. Скорее всего, вы столкнетесь с сообщением о том, что отзыв этого сертификата сделает недействительными все связанные профили обеспечения — это вполне ожидаемо и нормально. На самом деле, это именно то, что мы хотим, чтобы вы могли получать обновления!
- Нажмите кнопку «Добавить» в правом верхнем углу и выполните шаги, чтобы создать новый сертификат распространения «App Store и Ad Hoc». Загрузите файл на свой компьютер, но пока не устанавливайте его — сначала мы должны очистить старый сертификат с вашего компьютера для разработки.
Удаление отозванного сертификата и установка нового сертификата
- Откройте Keychain Access и найдите «Распространение iPhone».
- Удалите все синие сертификаты, соответствующие «распространению iPhone». На значке сертификата также может быть красный значок «X», указывающий на то, что срок его действия истек или он отозван. Они могут быть очищены, а также они больше не используются.
- Дважды щелкните только что загруженный сертификат и установите его.
Изменить профили специальной подготовки
- Перейдите в раздел «Профили подготовки к распространению» и найдите свой профиль Ad-Hoc.
- При необходимости отредактируйте этот профиль, обновив список тестовых устройств.
- Нажмите «Создать» и загрузите только что созданный профиль обеспечения. Если кнопка «Создать» отключена, убедитесь, что в имени профиля подготовки нет специальных символов и что вы выбрали хотя бы одно тестовое устройство.
- Перетащите только что загруженный профиль подготовки в Xcode. Любые старые версии профиля могут быть удалены из Организатора.
На этом этапе вы должны вернуться к работе и быть готовыми обновить настройки Code Sign, если это необходимо (то есть, если вы установите их для соответствия определенному профилю вместо использования параметра автоматического выбора профиля, вам нужно будет обновить этот параметр, чтобы он указывал на текущую версию вашего профиля подготовки).
Опять же, вам повезло в том, что вы предпринимаете шаги для устранения этой проблемы, пока вы, тестировщики, все еще можете использовать свое приложение, и вам не нужно торопиться или спешить, чтобы сделать это. Не торопитесь и обязательно очистите старые сертификаты и профили подготовки с истекающим сроком действия, чтобы Xcode было проще понять, что вы хотите использовать новейший профиль.
person
Bryan Musial
schedule
17.04.2013