Почему я могу установить дистрибутив дистрибутива магазина приложений непосредственно на моем устройстве?

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

"Профили профилей App Store не позволяют устанавливать приложение, основанное на дистрибутиве, на устройстве Apple. Чтобы установить приложение, готовое к распространению, на устройстве, вы должны создать профиль предварительной подписки Ad Hoc".

Теперь рассмотрим следующее: у меня есть профиль предоставления специального распределения рассылки и профиль предоставления распределения дистрибутива App Store. Профиль ad hoc содержит список подготовленных устройств, профиль магазина приложений не работает. Мое устройство (без тюремного тормоза) включено в подготовленные устройства в специальном профиле. Моя сборка была подписана с профилем магазина приложений. Полученный .ipa файл был представлен в App Store (и одобрен - но пока он еще не доступен для публики). Когда я просматриваю содержимое пакета .ipa файла, я вижу, что встроенное .mobileprovision действительно является профилем магазина приложения (без списка подготовленных устройств). Когда я перетаскиваю этот профиль в свой Xcode Organizer, я получаю сообщение об ошибке, что профиль не может быть установлен, потому что устройство не входит в профиль (как и ожидалось). Однако, когда я перетаскиваю файл .ipa в свой Xcode Organizer, приложение устанавливается на устройство (и может быть открыто на устройстве после этого). Я попробовал это, убедившись, что на устройстве не было других копий того же приложения. То же самое не работает, когда я использую другое устройство, которое не включено в подготовленные устройства ad hoc-профиля (даже если .ipa содержит профиль магазина приложения без списка подготовленных устройств).

Есть ли у кого-нибудь возможное объяснение этому? Похоже, что некоторая сборка, подписанная с профилем магазина приложений, все еще может быть установлена ​​на устройстве, включенном в соответствующий (тот же идентификатор идентификатора приложения? Такой же идентификатор команды?) Ad hoc profile. Но если это будет так, то зачем делать отдельные специальные сборки?

Ответ 1

Я тоже это заметил и всегда хотел выяснить, почему это сработало. Раньше было правдой, что вы не смогли установить сборку App Store, но она, похоже, изменилась, Im догадывается либо в iOS6 или 5.

Я обнаружил, что я могу установить только сборки профилей для создания приложений App Store, когда уже был установлен совместимый профиль Ad Hoc. Профайлы разработчиков не работают. Я не пробовал подстановочные профили. Таким образом, похоже, что правила Ad Hoc изменены.

Я не могу найти правила установки Ad Hoc, но по теме запуска раздела "Ad Hoc Provisioning Profiles in Depth" Распределение приложений Apple Руководство говорит, что

Приложение успешно запускается, если идентификатор пакета приложений соответствует идентификатору приложения, подпись соответствует сертификату распространения, а устройство находится в списке устройств специального профиля подготовки.

Итак, я предполагаю, что технически сборки AppStore отвечают этим требованиям Ad Hoc, потому что он тоже подписан с тем же сертификатом распространения. Использование "the" вводит в заблуждение здесь, потому что оно звучит так, как будто iOS советует ваш embedded.mobileprovision, что неверно. Он должен читать "специальный" профиль.

NB: установка работала только тогда, когда на устройстве уже был установлен профиль Ad Hoc, поэтому есть одна причина для создания отдельных специальных сборок.

NB. Это все гипотезы. Другим объяснением может быть то, что Xcode обрабатывает установку embedded.mobileprovision и теперь продолжается, когда установка профиля AppStore не выполняется.

Это вызывает у меня еще один вопрос: почему iOS DWIM для создания App Store все же отказывается запускать сборки Ad Hoc с просроченными профилями подготовки, когда установлена ​​действительно действующая замена?