Ошибка загрузки ресурсов по требованию
Недавно я столкнулся с проблемой загрузки ресурсов по запросу. Я использую Xcode 9.0 для загрузки приложения в AppStore, и каждая загрузка заканчивается успешно. Но, глядя на детали сборки iTunes Connect, я вижу, что ресурсы по требованию включены, но для этой сборки есть 0 пакетов ресурсов.
В этой проблеме есть еще один интересный момент. Сборка № 3 моего приложения также была загружена ресурсами по требованию, и с этой сборкой все отлично работает. Но сборки № 4 и № 5 не содержат пакетов ресурсов. Я рассмотрел изменения в приложении - нет никаких изменений, связанных с ресурсами по требованию.
В Xcode->Build Settings -> Assets ->Embed Asset Packes в Product Bundle установлено значение No. Кроме того, размер одного пакета активов составляет около 5 МБ, общий размер всех пакетов около 150 МБ.
Может быть, у кого-то тоже была эта проблема? Благодарю.
ОБНОВЛЕНИЕ Я проверил папку Product внутри архива Xcode - там есть все 36 пакетов ресурсов, но iTunes Connect по-прежнему показывает 0 пакетов.
ОБНОВЛЕНИЕ 2 Кажется, что это произошло не один раз. У разработчиков была такая же проблема год назад. Я думаю, мы должны сообщить об ошибке в Apple.
ОБНОВЛЕНИЕ 3 Мы пытались загрузить приложение с ресурсами по требованию, используя Application Loader, но результат был тот же.
ОБНОВЛЕНИЕ 4 Мы попытались вернуть код в версию, где все отлично работает с ресурсами по требованию, и загрузить тот же двоичный файл с другим номером версии в iTC, но результат тот же.
ОБНОВЛЕНИЕ 5 Мы получили ответ от технической поддержки Apple для разработчиков (DTS)
Благодарим Вас за обращение в службу технической поддержки Apple для разработчиков (DTS). Наши инженеры рассмотрели ваш запрос и определили, что у вас возникла известная проблема, для которой в настоящее время нет известных обходных путей.
Я буду публиковать любые обновления здесь, связанные с этой проблемой.
3 ответа
К сожалению, я не могу предоставить решение вашей проблемы... только скажу вам, что у нас такая же проблема и что мы уже пробовали.
Мы не изменили ничего, связанного с ODR, и каждый IPA, загруженный в iTunes Connect, показывает "0 пакетов активов". Сборка, доступная в настоящее время в App Store, имеет тот же набор пакетов ресурсов и правильно отображается в iTunes Connect.
Мы попробовали следующее:
- создание чистой сборки;
- изменение версии и номера сборки;
- загрузка с загрузчиком приложений вместо Xcode;
- проверил IPA - он включает в себя каталог OnDemandResources с правильным количеством элементов и файлов, которые выглядят хорошо -;
- использование другого Mac для загрузки;
- удаляя все в каталоге "DerivedData".
iTunes Connect по-прежнему настаивает на том, что все загруженные IPA используют ресурсы по требованию, но не имеют пакетов ресурсов, и если вы устанавливаете их через TestFlight, они считают тег ODR недействительным. Этого не происходит при установке приложения с Xcode, тогда ODR работают как положено.
Мы уже писали в Apple (как команду iTunes Connect, так и в качестве технической поддержки).
Мы, вероятно, попробуем больше вещей, пока будем ждать ответа Apple.
-
Обновить:
Также попытался загрузить коммит, который "представляет" приложение, опубликованное в данный момент, просто изменив номер версии. Это не сработало, пакеты активов все еще не распознаны.
Одна вещь, которая могла измениться после загрузки, - это то, что мы установили бета-версию Xcode 9.1. Мы не используем бета-версию для загрузки, а инструменты командной строки не настроены на использование бета-версии указанных инструментов.
Это случилось со мной сегодня, это было изображение ресурса, на которое была ссылка под
TARGET
-> Resource Tags
проверьте, добавлено ли туда изображение из ресурсов или нет
(Отредактировано) Мы боролись с той же проблемой в течение недели, но попытались загрузить новую сборку сегодня, и хотя она по-прежнему говорит: Ресурсы по требованию Да | 0 Asset Packs… оказалось, сборка работает просто отлично. Возможно, сегодня произошли некоторые изменения, и вы должны попробовать новую сборку и посмотреть, работает ли она.
Мы пробовали большинство из упомянутых выше вариантов, то есть перестройку проекта, использование Application Loader, обновление Xcode и т. Д., Но он все еще не работал, поэтому мы просто продолжили загружать и тестировать сборку testflight.
(Я знаю, что это не очень хороший ответ, и я бы опубликовал его как комментарий, но похоже, что это невозможно без достаточной репутации)