2014-02-06 50 views
5

所以我创建了一个资产目录,其中包含四个位置:两个用于iPhone,另外两个用于iPad。现在我拖放我的图像到相应的位置。Xcode资产目录:每张图片只有一个副本

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

所以我试图通过this answer手动解决这个问题。我打开.imageset文件夹,并编辑“文件名”中的Contents.json文件是这样的:(我也该文件夹中删除重复的图像)

{ 
    "images" : [ 
    { 
     "idiom" : "iphone", 
     "scale" : "1x" 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "iphone", 
     "scale" : "2x", 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "ipad", 
     "scale" : "1x", 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "ipad", 
     "scale" : "2x", 
     "filename" : "[email protected]" 
    } 
    ], 
    "info" : { 
    "version" : 1, 
    "author" : "xcode" 
    } 
} 

构建我看看里面后。应用程序文件以及包含Xcode资产目录的Assets.car文件。

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

要看到,如果这是真的,我改变了Contents.json每一个“文件名”我@ 4倍的图像:

{ 
    "images" : [ 
    { 
     "idiom" : "iphone", 
     "scale" : "1x" 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "iphone", 
     "scale" : "2x", 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "ipad", 
     "scale" : "1x", 
     "filename" : "[email protected]" 
    }, 
    { 
     "idiom" : "ipad", 
     "scale" : "2x", 
     "filename" : "[email protected]" 
    } 
    ], 
    "info" : { 
    "version" : 1, 
    "author" : "xcode" 
    } 
} 

构建后,我检查了文件大小FO的Assets.car。它比以前大得多。大约是“[email protected]”大小的四倍 - 尽管在我的.imageset文件夹中,只有一个“[email protected]”。所以我假设Xcode在构建过程中添加了该映像的三个副本。

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

在此先感谢您的帮助!

+0

刚刚遇到同样的问题,您是否找到了一些解决方法? – Mikhail

回答

相关问题