我注意到当我使用资产目录指定我的iOS应用程序图标时,生成的应用程序既有包含图标的Assets.car文件,也包含根包中的各个图标文件。目录
该应用已将iOS 9作为其部署目标。
我通过归档项目并将其导出(通过Xcode的管理器窗口)作为Ad Hoc构建,并将App Thinning选项设置为iPhone 6s来检查生成的捆绑包。这是在Xcode 9.3.1上。
当我inspect稀疏应用中的Assets.car文件时,我发现它只有40,58,80,114和120个图标(以及{{{200x178图像) 3}}调用ZZZZPackedAsset-2.0,其中包含嵌入其中的4个版本的图标,我测量的是尺寸:42,60,82和116)。
根捆绑目录中的图标文件如下:
所以我有两个问题:
为什么图标资产重复为外部AppIcon * .png文件和内部Assets.car资产?
为什么单独的AppIcon * .png包含所有图标而不仅仅是需要的图标?
我认为iOS 9+可以将资产目录用于其图标资产。这只是Xcode产生的捆绑中的差异与应用商店中会发生的差异吗?或者,我是否正在制作应用程序稀疏应用程序导出选项如何工作?
答案 0 :(得分:1)
关于应用程序图标,资产目录是一种节省人力的设备,而不是节省空间的设备。
历史上,并不总是有资产目录;相反,设备上的iOS系统希望在应用程序包的顶层找到应用程序图标,具有从 Info.plist 中指定的名称派生的高度特定的名称。
您可以自己配置,以及我们以前必须做的事情。
但是为了省去你担心的麻烦,你可以选择将应用程序图标放在资产目录中 - 然后应用程序构建过程为你做了以前你自己做过的事情,编写了图标显示应用程序包的顶层,并修改 Info.plist 以指向它们。