分析 iOS 中的 Assets.car 文件

2024-02-10

我试图减少 iOS 应用程序的整体大小,目前为 48MB。当我分析子文件夹时,我发现 Assets.car 占用了 41MB。我无法打开并查看哪个占用了那么多空间。

我找不到有关 Assets.car 文件的任何好的文档。有人可以建议如何查看内容吗?


运行苹果的 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 中。一些实用程序能够使用私有类提取其内容CUICatalogCoreUI框架的介绍:

  • 提取物 https://github.com/bartoszj/acextract
  • 主题引擎 https://github.com/alexzielenski/ThemeEngine
  • iOS 资源提取器 https://github.com/Marxon13/iOS-Asset-Extractor
  • 资产目录修补匠 https://github.com/insidegui/AssetCatalogTinkerer

还有一个读取 .car 文件的应用程序:crunch https://pragmaticcode.com/crunch/9 美元,试用 15 天

Running strings Assets.car

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

Running find返回 Xcode-beta 内部/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Overlays/IBCocoaTouchImageCatalogTool,这是一个模拟器可执行文件(i386 + x86_64)。没有进一步调查,但我敢打赌,如果您在模拟器中运行该工具,它可以打开 .car 档案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分析 iOS 中的 Assets.car 文件 的相关文章

  • 适用于 iOS 的 Google Cast SDK 2.3.0 不支持 64 位

    似乎是适用于 iOS 的 Google Cast SDK 2 3 0 版本 https developers google com cast downloads GoogleCastFramework 2 3 0 Release zip停止
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • iPhone 上的最大蓝牙连接数是多少?

    如果您对此有任何见解 那么了解连接之间是否存在很大的延迟也会很高兴 蓝牙协议规定连接是点对点的 因此称为 配对 但不同的站可以同时使用不同的配置文件 每个配置文件一次仅支持一个连接 您可以同时与汽车建立立体声耳机连接并与笔记本电脑建立数据连
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 使用 UIActionSheet 更改视图时工具栏项目消失

    当从 a 启动视图时UIActionSheet按钮 通过导航栏后退按钮返回视图后 工具栏虽然仍然可见 但上面没有任何以前的按钮 自从更新到 iOS 6 以来 这个错误就出现了 并且是在模拟器和仅运行 iOS 6 的设备上测试时发生的 如果我
  • 使用 UIImagePickerController 的应用程序在拍照后选择“使用照片”时冻结

    我现在正在开发一个简单的照片和视频捕获应用程序 该应用程序成功地允许用户按下按钮即可拍摄照片或视频 但是 一旦您完成拍摄照片或视频 它就会提供 2 个选项 重新拍摄 和 使用照片 或 使用视频 具体取决于您使用的选项 如果用户点击 重新拍摄
  • 使用隐藏的 SFSafariViewController 获取 Safari cookie

    我正在阅读以下关于从移动网页到本机 iOS 9 应用程序对用户进行身份验证的文章 并且想知道如何最好地实现类似于下面讨论的隐藏控制器的隐藏 safari 视图控制器 https library launchkit io how ios 9
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 自动布局和ios5

    我正在使用故事板 我已经使用了自动布局 但它不适用于 ios5 并且会崩溃 所以我想删除它 但是 如何取消选中自动布局 但如果我取消选中自动布局 我如何为 iPhone 4 和 5 设置屏幕 Regards 您可以在 IB 中禁用自动布局
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • 维护 UISegmentedControl 中的选择

    我可以保持 UISegmentViewControl 段的选定状态吗 即 即使用户选择了另一个段 也可以保持一个段显示为选中状态 我似乎在任何地方都找不到任何可以做到这一点的东西 这是不可能开箱即用的 看如何才能选择 UISegmented
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 播放(非库)Apple Music 内容 - 请求失败

    我正在尝试使用以下代码播放专辑 let predicate MPMediaPropertyPredicate value 1459938538 forProperty MPMediaItemPropertyAlbumPersistentID
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j

随机推荐

  • 使用nginx和gunicorn在django中通过ip限制对管理url的访问

    我试图通过在 nginx 中使用简单的基于主机的访问控制来限制对 django 应用程序管理部分的访问 不幸的是 nginx 似乎不遵守配置请求 这是我在 nginx 中这个特定部分的设置 gunicorn setup location p
  • C++:将指针变量传递给函数

    我有一个类节点 class Node public int item Node nextLink 在函数外部我声明一个 Node 指针 Node newNode 然后 我将此指针传递给函数 foo void foo Node node no
  • 如何在 Pandas 数据框中选择基于行的类别

    这确实微不足道 但不敢相信我已经闲逛了一个小时 仍然可以找到答案 所以在这里 df pd DataFrame cats a b vals 1 2 df cats df cats astype category df 我的问题是如何选择 ca
  • 读取接收和发送的网络流量字节

    在 Objective C 中获取网络流量发送和接收字节的最简单方法是什么 这并不容易 而且它来自 C 而不是 Objective C 但是您需要的所有信息都存储在返回给您的接口地址的 ifa data 字段中获取ifaddrs 3 您可以
  • Google 地图 API 密钥警报

    我的 Google 地图 API 密钥有问题 我收到一条警报说 This web site needs a different Google Maps API key 当我按 确定 收到警报时 地图正在加载并且工作正常 同样的问题已经发布
  • 如何向 Python shell 添加制表符补全?

    当使用启动 django 应用程序时python manage py shell 我得到一个 InteractiveConsole shell 我可以使用制表符完成等 Python 2 5 1 r251 54863 Apr 15 2008
  • Rails image_tag 旋转图像

    我使用亚马逊的 S3 进行图像存储 并配置了载波和雾 图像似乎存储正确 但是当我有 肖像 图像 宽度小于高度 时 它无法正确显示 而是将图像旋转到其一侧 任何正确方向的指示将不胜感激 上传者 image uploader rb class
  • C/C++ 处理程序 SIGFPE 是什么?

    好吧 我搜索了有关 SIGFPE 的文章 然后我写了一些测试 但它的行为很奇怪 那我只好在这里发帖寻求帮助了 GCC G 或 ISO C 是否明确定义了除以零会发生什么 1 我搜索了这篇文章 除以零不会抛出 SIGFPE https sta
  • 在 swift 3 中以编程方式设置 UIImageView AspectRatio 约束

    我在故事板中有一个 UIImageView 其 AspectRatio 为 1 1 在某些情况下我想在 ViewController 中以编程方式更改为 2 1 我在 ViewController 中创建该约束的引用 但无法设置该约束 您可
  • 使用引导工具提示进行 Javascript 验证

    当验证返回 false 时 我在启动输入字段的引导工具提示时遇到问题 更多细节 我有想法用 javascript 函数验证我的表单 这工作得很好 但是当验证错误时一定会发生一些事情 我正在考虑引导工具提示 简单 易于控制 现在对我来说是最好
  • Django ModelChoiceField 允许创建对象

    姜戈的ModelChoiceField https docs djangoproject com en 1 8 ref forms fields django forms ModelChoiceField是从模型派生表单时用于外键的默认表单
  • 当使用 unicorn 启动 Rails 时,Nginx 失败(13:权限被拒绝)

    我的 Rails 应用程序在服务器上运行Unicorn and Nginx 但是在配置Nginx并启动它之后 我收到错误 2015 08 03 15 43 44 crit 13951 0 1 stat home ec2 user apps
  • 使用 Python 从 Google Drive / Workspace 下载电子表格

    您能否生成一个 Python 示例 说明如何下载给定密钥和工作表 ID 的 Google Sheets 电子表格 gid 我不能 我已经搜索了 API 的版本 1 2 和 3 我运气不好 我无法弄清楚他们复杂的类似 ATOM 的 feed
  • 根据 pandas DataFrame 中的值序列生成索引元组

    这是我之前问题的后续 根据 pandas DataFrame 列中的值序列查找行索引 https stackoverflow com questions 61735585 finding the index of rows based on
  • 将对象插入哈希表 (C++)

    这是我第一次制作哈希表 我试图将字符串 键 与指向 Strain 类对象 数据 的指针相关联 Simulation h include
  • 细粒度的权限;主要权限——角色与权限分离;

    我在 wcf 服务中使用 PrimaryPermission 一段时间了 PrincipalPermission SecurityAction Demand 角色 SecurityRoles CanManageUsers 我们的角色前缀为
  • 如何知道我使用的是哪个 Android 支持库 v4 修订版?

    我可以在 Android SDK 管理器中看到我的计算机上安装的版本 在 Android SDK 管理器中 但通常项目使用 libs 文件夹中自己的副本 除了文件日期之外 有什么方法可以告诉我在特定项目中使用的是 android suppo
  • IntelliJ - 调试设置下一条语句?

    在 IntelliJ 中调试时如何退回到上一行 我在调试菜单或命令中没有看到任何执行此操作的内容 目前 IDEA 不支持向后调试 不过 对于 Java 调试器工具栏上有 Drop Frame 操作和按钮 它可以让您在堆栈中向上移动一帧并重新
  • 为 Objective-C 集合实现 -hash / -isEqual: / -isEqualTo...:

    Note 以下问题是相关的 但它们和链接的资源似乎都没有完全回答我的问题 特别是与实施平等测试有关对象的集合 覆盖 isEqual 和 hash 的最佳实践 https stackoverflow com questions 254281
  • 分析 iOS 中的 Assets.car 文件

    我试图减少 iOS 应用程序的整体大小 目前为 48MB 当我分析子文件夹时 我发现 Assets car 占用了 41MB 我无法打开并查看哪个占用了那么多空间 我找不到有关 Assets car 文件的任何好的文档 有人可以建议如何查看