Xcode资产目录:每个图像只有一个副本

 名禅 发布于 2023-01-29 02:44

所以我创建了一个有四个位置的资产目录:两个用于iPhone,两个用于iPad.现在我把我的图像拖到相应的位置.

我的问题:假设我在iPhone @ 2x和iPad @ 1x上使用相同的图像.但Xcode会创建图像的副本,尽管已经存在完全相同的图像.

所以我试着通过这个答案手动解决这个问题.我打开.imageset文件夹并在Contents.json文件中编辑"filename",如下所示:(我还删除了文件夹中的重复图像.)

{
  "images" : [
    {
      "idiom" : "iphone",
      "scale" : "1x"
      "filename" : "myImage@1x.png"
    },
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "filename" : "myImage@2x.png"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "filename" : "myImage@2x.png"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "filename" : "myImage@4x.png"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

在构建之后,我查看.app文件和Assets.car文件,其中包含Xcode资产目录.

Assets.car文件的文件大小似乎比我预期的大.好像我删除的重复图像在构建过程中重新添加.

要查看是否为真,我将Contents.json中的每个"文件名"更改为我的@ 4x图像:

{
  "images" : [
    {
      "idiom" : "iphone",
      "scale" : "1x"
      "filename" : "myImage@4x.png"
    },
    {
      "idiom" : "iphone",
      "scale" : "2x",
      "filename" : "myImage@4x.png"
    },
    {
      "idiom" : "ipad",
      "scale" : "1x",
      "filename" : "myImage@4x.png"
    },
    {
      "idiom" : "ipad",
      "scale" : "2x",
      "filename" : "myImage@4x.png"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

在构建之后,我检查了Assets.car的文件大小.它比以前大得多.大约是"myImage@4x.png"大小的四倍 - 虽然在我的.imageset文件夹中,只有一个"myImage@4x.png".所以我假设Xcode在构建过程中添加了该图像的三个副本.

有谁知道如何阻止Xcode添加这些不必要的副本?如果您的应用包含许多资产目录,那么应用规模可能会显着增加......

在此先感谢您的帮助!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有