Новая функция iOS 9 Free Provisioning (запустите приложение на устройстве, просто с вашим Apple ID, без участия Apple Developer)

Хотелось бы узнать о новой функции Free Provisioning, представленной в iOS9 и Xcode 7.

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

Теперь только с Apple ID, как дела обстоят в фоновом режиме, также существуют ограничения на количество ящиков, которые я могу добавить в сборку с помощью Free Provisioning.

Любая помощь с благодарностью благодарит...

Ответ 1

1. Как это работает?

Apple Ref: как использовать бесплатную подготовку

Как указано в приведенной выше ссылке в разделе Запустить приложение на устройствах с использованием бесплатной поддержки. 6. "Xcode создает для вас бесплатный профиль подготовки"

Обновление: выше точки 6 удаляется из ссылки, но нет изменений в способе ее работы, и шаги по ссылке выше все еще работают!

Профиль, созданный таким образом, привязан к вашему идентификатору apple, когда вы пытаетесь запустить приложение на новом устройстве, которое добавляет UDID устройства в этот профиль.


2. Как использовать бесплатное предоставление ресурсов?

Требования: Apple ID, XCode 7 или выше

Шаги:

  • Перейдите к предпочтению XCode

  • Перейдите на вкладку "Аккаунты" и нажмите "+" в левом нижнем углу, чтобы добавить свой Apple ID.

  • После успешного добавления Apple ID нажмите на ссылку для просмотра внизу справа введите описание изображения здесь

  • Нажмите кнопку "Создать" рядом с "Разработка iOS"

    введите описание изображения здесь

  • Подключите свое устройство и выберите свое устройство в качестве места назначения.

  • В общей настройке цели

    а. Установите идентификатор приложения, который вы хотите предоставить своему свободному профилю

    б. установить идентификатор команды как идентификатор вашего яблока

    с. Если вы используете XCode 7, нажмите кнопку Исправить проблему ниже предупреждения профиля предоставления.

    введите описание изображения здесь

    Если вы используете XCode 8, нет кнопки Fix Issue, XCode автоматически сделает это. введите описание изображения здесь

    В обоих случаях версии XCode Xcode либо создаст новый профиль, если не найден для вашего идентификатора Apple, либо добавит новое устройство в существующий профиль.

  • Запустите приложение, это установит приложение.

  • Нажмите значок приложения, чтобы запустить приложение вручную, вы получите диалоговое окно "Неверный разработчик". Чтобы доверять идентификатору Apple, перейдите в настройку iPhone > Общие > Управление устройствами > Выберите свой идентификатор Apple и нажмите доверие.
  • После шага 8 вы можете запускать и отлаживать приложение, используя бесплатное предоставление ресурсов.

3. Каковы ограничения?

Я попытался установить приложение с бесплатной настройкой и мог запускать/отлаживать приложение. Но есть немного уловов. Профиль, созданный XCode, немного отличается от наших обычных профилей разработчиков

Из сырого файла профиля

  • Появится новый ключ LocalProvision со значением true

    <key>LocalProvision</key>

    <true/>

    Многие службы, такие как следующие, недоступны, Полный список услуг

    Apple Pay, игровой центр, iCloud, покупка в приложении, Push-оповещения, кошелек (был с книгой)

  • Истекает через 7 дней (это было изменено в мае, ранее это было 90 дней).

    <key>TimeToLive</key>

    <integer>7</integer>

    Старый: 90 дней введите описание изображения здесь Новое: 7 дней введите описание изображения здесь

  • В <key>ProvisionedDevices</key> есть список устройств, на которых я пытался установить приложение, возможно неизвестное максимальное количество устройств, я попытался установить на 3 устройства, которые успешно работали.

  • Это не является альтернативой публикации приложения бесплатно в магазине приложений, вам все равно нужно записаться в программу разработчика для публикации приложений.

  • Тестирование на основе внутреннего/внешнего тестирования невозможно.

Ответ 2

Apple не раскрыла ничего подобного, как они управляют на своем портале разработчиков. Но я думаю, что они просто удалили ограничение программы Paid Developer и остальное, что осталось.

Для стандартного разработчика Программа Apple поддерживает 100 устройств, поэтому я думаю, что здесь будет применяться.

Подробнее см. ссылку .

Ответ 3

Скопировано из: https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/free-provisioning/

Ограничения

Apple наложила ряд ограничений на то, когда и как вы можете использовать бесплатное обеспечение для запуска вашего приложения на устройстве iOS, гарантируя, что вы можете использовать его только на своем устройстве. Они перечислены в этом разделе.

Доступ к iTunes Connect также ограничен, и поэтому услуги, такие как публикация в App Store и TestFlight, недоступны для разработчиков, которые бесплатно предоставляют свои приложения. Для распространения через Ad Hoc и In-House требуется учетная запись Apple Developer (Enterprise или Personal).

Профили Provisioning, созданные таким образом, истекают через три месяца, Signing Identities после одного года. Кроме того, профили подготовки создаются только с явными идентификаторами приложений, поэтому вам нужно будет следовать инструкциям выше для каждого приложения, которое вы хотите установить.

Предоставление большинства служб приложений также невозможно при бесплатном предоставлении ресурсов. Это включает в себя:

Apple Pay

Игровой центр

ICloud

Покупка в приложении

Push-уведомления

Бумажник (был паспортом)

Ответ 4

Дополнительная информация.

Вы можете архивировать приложение со свободным профилем подготовки. Но вы не можете экспортировать ipa в "XCode 7"

введите описание изображения здесь

Но вы можете использовать XCode 5 или командную строку "xcodebuild" для экспорта файла ipa.

Я попытался использовать OTA для установки этого ipa файла. И это работает!

Итак... Если есть способ добавить UUID в свою учетную запись без XCode (REST api calls). Вы можете распространять свое приложение всем, кого хотите.