所以我创建了一个包含四个位置的资产目录:两个为iPhone和两个为iPad。现在我将我的图片拖放到相应的位置。
我的问题是:假设我在iPhone @2x和iPad @1x上使用相同的图像。但是,虽然完全相同的图像已经存在,但Xcode仍会创建该图像的副本。
所以根据这个答案,我试图手动解决这个问题。我打开.imageset文件夹并像这样编辑Contents.json文件中的“文件名”:(我还删除了文件夹中的重复图像。)
在编译完成后,我检查了Assets.car文件的大小。它比以前显着增加。大约是“myImage@4x.png”的四倍 - 虽然在我的.imageset文件夹中只有一个“myImage@4x.png”。因此,我假设Xcode在构建过程中添加了三个该图像的副本。
请问是否有人知道如何阻止Xcode添加这些不必要的副本?如果您的应用程序包含多个资产目录,则应用程序大小可能会显着增加...
提前感谢您的帮助!
我的问题是:假设我在iPhone @2x和iPad @1x上使用相同的图像。但是,虽然完全相同的图像已经存在,但Xcode仍会创建该图像的副本。
所以根据这个答案,我试图手动解决这个问题。我打开.imageset文件夹并像这样编辑Contents.json文件中的“文件名”:(我还删除了文件夹中的重复图像。)
{
"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中的每个“filename”更改为我的@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添加这些不必要的副本?如果您的应用程序包含多个资产目录,则应用程序大小可能会显着增加...
提前感谢您的帮助!