2016-08-25 4 views
2

Я пытаюсь использовать ODR в нашем приложении и создал теги и сгруппировал его в разделе «Параметры начальной установки» в разделе «Предварительно заданные».Использование и проверка начальной установки тегов во время разработки

  1. Я не уверен, как проверить это на Симуляторе и на устройстве, используя профиль разработки.
  2. Является ли TestFlight единственной опцией проверки использования начальной установки?
  3. Должен ли я использовать NSBundleResourceRequest даже для ресурсов, помеченных как начальная установка? Мое понимание начального тега установки заключается в том, что оно будет автоматически загружено с помощью приложения. Итак, я думал, что запрос не нужен. Пожалуйста, поправьте меня, если я ошибаюсь.

ответ

0

Согласно WWDC https://developer.apple.com/videos/play/wwdc2015/214/

1) Вы можете проверить ODR с помощью раздела диска отладочного навигатора в X кода

Однако по состоянию на XCode 8.1 беты начальной установки тег не считайте, что нужно работать, как ожидалось. Как вы можете видеть на скриншоте.

2) Согласно моему пониманию WWDC, это должно работать над версией Archive, а также на Simulator, просто запустив приложение из XCode. Не только TestFlight

3) Я не считаю, что вам следует использовать отдельный запрос на выборку, но поскольку это, кажется, единственный способ заставить его работать, это следует рассматривать как обходное решение, а не решение. В соответствии с документацией

Исходные установочные метки. Ресурсы загружаются одновременно с приложением. Размер ресурсов включен в общий размер для приложения в App Store. Теги могут быть очищены, если они не являются , к которым обращается хотя бы один объект NSBundleResourceRequest.

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

https://forums.developer.apple.com/thread/9530

enter image description here

https://forums.developer.apple.com/thread/9530

enter image description here

+0

Спасибо за информацию. 2. Мне удалось проверить, что мои исходные файлы с установкой тегов загружаются вместе с приложением только из TestFlight. 3. Да, вы правы. Это единственный способ получить доступ к ресурсам. У меня есть странная проблема. Мои ресурсы загружаются правильно на iPhone. Только на iPad Air (10.0.1) и iPad Mini 1 (9.3.5) ресурсы не были загружены. Просто пытаюсь выяснить, в чем проблема. Есть идеи? – andrew

+0

Возможно, сам пакет активов не определен для IPad? Является ли это универсальным, Iphone или Ipad? –

+0

Мне удалось получить изображения на iPad Mini 3. Его странно. Я выбрал «iPhone» и «iPad» в списке «Устройства». У меня разные образы для iPhone и iPad. – andrew

0

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

  1. Я не уверен, как проверить это на Симуляторе и на устройстве, используя профиль разработки. - Я тестировал локально, встраивая пакеты Asset в сам Bundle.
  2. Является ли TestFlight единственным вариантом проверки использования начального использования тега? - Не тестировал это еще. Но я думаю, что ответ «Да».
  3. Нужно ли использовать NSBundleResourceRequest даже для ресурсов, помеченных как начальная установка? - Да. Там нет никакой разницы между тем, как мы извлекаем ресурсы с тегом под «Загрузку только по требованию», «Initial Установите метки» и «опережающую выборку Tag Order»

И я сделал одно изменение, которое сделало мое приложение использовать содержание ODR правильно , У меня был объект NSBundleResourceRequest как локальная переменная. Это должна быть переменная экземпляра. Ref: https://iosguy.com/2015/09/18/on-demand-resources/