Анализ файла 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 (формат файла не изменился).
Ответ 6
Можно использовать этот acextract для Swift5: https://github.com/iHTCboy/acextract