分析IOS中的Assets.car文件
我试图减小当前48MB的iOS应用程序的总体大小。当我分析子文件夹时,我发现Assets.car正在使用41MB。我无法打开并看到哪一个正在占用那么多空间。分析IOS中的Assets.car文件
我找不到任何关于Assets.car文件的好文档。有人可以建议如何查看内容?
此工具可以提取。汽车档案:https://github.com/steventroughtonsmith/cartool
步骤提取档案:
一旦你下载从GitHub上的拉链,编译在Xcode生成的命令行工具。然后展开Products
组,然后右键单击cartool
文件并在查找器中找到它。然后,您可以像下面这样运行该工具:
- 开放终端
cd /path/to/cartool
./cartool /path/to/Assets.car /path/to/outputDirectory
通用二进制文件对于每个屏幕密度似乎都包含多个图像分辨率。
将应用程序上传到App Store后,文件大小将小于您的通用二进制文件,因为每个设备只会获得适当的图像密度。
你可以在这里查看文件大小:iTunes Connect中>我的应用>您的应用程序>活动>您的构建> App Store的文件大小
运行苹果的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操作,运行以获取详细信息。
Assets.car似乎是一个专有的Apple存档,最早出现在iOS 7中。一些实用程序能够提取使用CoreUI框架的私有类CUICatalog
其内容:
也有一个应用程序,读取.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档案。
[什么是.app中的Assets.car文件?]可能的重复(http://stackoverflow.com/questions/20777488/what-is-assets-car-file-in-app) – borrrden
@borrrden,this不回答我的问题。我正在寻找分析哪部分需要更多记忆。 – Rajeev
@rajeevprasanna我认为这个文件也包含iPhone 6的升级版图像! –