Анализ файла Assets.car в iOS

Я пытаюсь уменьшить общий размер моего приложения iOS, которое в настоящее время составляет 48 МБ. Когда я анализирую подпапки, я обнаружил, что Assets.car занимает 41 МБ. Я не могу открыть и посмотреть, какой из них занимает много места.

Я не смог найти хорошую документацию относительно файла Assets.car. Может кто-нибудь предложить, как просмотреть содержимое?

Ответ 1

Этот инструмент может извлечь архив .car: https://github.com/steventroughtonsmith/cartool

Шаги по извлечению архива:

Как только вы загрузили zip из github, скомпилируйте его в Xcode, чтобы сгенерировать инструмент командной строки. Затем разверните группу Products и щелкните правой кнопкой мыши по файлу cartool и найдите его в finder. Затем вы можете запустить инструмент следующим образом:

  • открытый терминал
  • cd /path/to/cartool
  • ./cartool /path/to/Assets.car /path/to/outputDirectory

Ответ 2

Запустите "Яблоки". "Ресурс":

xcrun --sdk iphoneos assetutil --info Assets.car

вы получите описание JSON каждого элемента в файле. Что-то вроде этого:

  {
    "Height" : 60,
    "Scale" : 1,
    "RenditionName" : "D3801CE9-19F1-4CE9-97C6-7E1EFFFCAE89",
    "AssetType" : "Vector",
    "SizeOnDisk" : 10822,
    "Name" : "mailbox",
    "Idiom" : "universal",
    "Width" : 99
  },

Обратите внимание на строку "SizeOnDisk" : 10822.

Этот инструмент выполняет ограниченную обработку .car, запустите man assetutil для деталей.


Assets.car, по-видимому, является запатентованным архивом яблок, который впервые появился в iOS 7. Несколько утилит могут извлекать его содержимое с помощью частного класса CUICatalog структуры CoreUI:

Также есть приложение, которое читает файлы .car: crunch 9 $, пробная версия за 15 дней

Запуск strings Assets.car возвращен

@(#)PROGRAM:CoreUI  PROJECT:CoreUI-475.1.1
IBCocoaTouchImageCatalogTool-9.0

Запуск find внутри Xcode-бета возвращается /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/IBCocoaTouchImageCatalogTool, который является исполняемым файлом симулятора (i386 + x86_64). Не исследовал дальше, но я уверен, что этот инструмент может открыть архивы .car, если вы запустите его внутри симулятора.

Ответ 3

Если вы хотите просматривать и извлекать каталоги активов, вы также можете использовать мое приложение Tinkerer Catalogue Asset Catalog

Снимок экрана Tinkerer Catalogue

Ответ 4

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

Как только приложение будет загружено в App Store, размер файла будет меньше, чем ваш универсальный двоичный файл, потому что каждое устройство будет получать только соответствующие плотности изображений.

Здесь вы можете проверить размеры файлов: iTunes Connect > Мои приложения > Ваше приложение > Деятельность > Ваша сборкa > Размер файла приложения Store

Ответ 5

Гильерме Рэмбо сказал правильно, а не Льюис42.

Предположим, PDF файл ("a.pdf") в Asserts.car.

Вы получите три файла png (a.png/a @2x.png/a @3x.png), если вы используете cartool, формат файла был изменен.

Но если вы используете AssetCatalogTinkerer, вы можете просмотреть файл a.pdf (формат файла не изменился).