Цель Apple - минимизировать пространство, необходимое для активов, поэтому активы объединяются и сжимаются в один файл с именем «Asset.car».
При отправке в магазин приложений запускается процесс под названием «Разбавление приложений», который создает варианты для разных реальных устройств.
Вы можете имитировать процесс локально, а сторонними инструментами даже заглянуть в файл «Asset.car».
Я подробно описал весь процесс в этом ответе:
Пиксельные изображения на iOS10 при сборке с Xcode 10
Чтобы проверить это сам, я сделал следующее:
- Я создал рабочее пространство
- Я добавил рамки
- Я добавил приложение
- внутри фреймворка я добавил 'Media.xcassets'
- Я ссылаюсь на этот Media.xcassets из приложения
- Я добавил одну фотографию под названием «Regensburg.jpg» в Media.xcassets
- Я использую это изображение в раскадровке
Затем я делаю процесс, описанный в моем связанном ответе выше, и извлекаю файл Asset.car.
При взгляде со сторонним инструментом внутри видно, что изображение только один раз.
Итак, хорошие новости: как и ожидалось, дублирования не происходит.
Скриншот
На скриншоте вы видите:
Структура проекта Xcode с каркасом и приложением, а также .xcassets в фоновом режиме
использование единственного изображения внутри раскадровки
извлеченный Assets.car в Finder в правом нижнем углу
наконец упомянутый сторонний инструмент в левом нижнем углу, где вы видите, что файл есть только один раз
Дополнительная информация
Как и в моем другом ответе, я бы рекомендовал взглянуть на это видео WWDC 2018: Сессия 227, Оптимизация ресурсов приложения, https://developer.apple.com/videos/play/wwdc2018/227/