我试图减少目前48 MB的iOS应用程序的整体大小。当我分析子文件夹时,我发现Assets.car占用了41MB。我无法打开,看看哪一个占用了那么多空间。
我找不到有关Assets.car文件的任何好文档。有人可以建议如何查看内容吗?
答案 0 :(得分:103)
此工具可以提取.car存档:https://github.com/steventroughtonsmith/cartool
提取存档的步骤:
从github下载zip后,在Xcode中编译它以生成命令行工具。然后展开Products
组并右键单击cartool
文件并在finder中找到它。然后,您可以像这样运行该工具:
cd /path/to/cartool
./cartool /path/to/Assets.car /path/to/outputDirectory
答案 1 :(得分:49)
运行Apple的assetutil:
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似乎是Apple的专有存档,最初出现在iOS 7中。一些实用程序能够使用CoreUI框架的私有类CUICatalog
提取其内容:
还有一个应用程序可以读取.car文件:crunch 9 $,15天试用
正在运行strings Assets.car
@(#)PROGRAM:CoreUI PROJECT:CoreUI-475.1.1
IBCocoaTouchImageCatalogTool-9.0
在Xcode-beta中运行find
返回/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/IBCocoaTouchImageCatalogTool
,这是一个模拟器可执行文件(i386 + x86_64)。没有进一步调查,但我敢打赌,如果你在模拟器中运行它,这个工具可以打开.car档案。
答案 2 :(得分:44)
如果您想浏览和提取资产目录,还可以使用我的应用Asset Catalog Tinkerer
答案 3 :(得分:0)
通用二进制文件似乎包含每个屏幕密度的多个图像分辨率。
将应用程序上传到App Store后,文件大小将小于通用二进制文件,因为每个设备只能获得适当的图像密度。
您可以在此处检查文件大小:iTunes Connect>我的应用>你的应用>活动>你的构建> App Store文件大小
答案 4 :(得分:0)
Guilherme Rambo说是正确的,而不是Lewis42。
假设Asserts.car中的pdf文件(' a.pdf')。
如果使用cartool,您将获得三个png文件(a.png / a @ 2x.png / a @ 3x.png),文件格式已更改。
但是,如果您使用AssetCatalogTinkerer,则可以预览a.pdf文件(未更改文件格式)。
答案 5 :(得分:0)
您可以尝试使用online tool或Mac上的QLCARFiles QuickLook plugin