2014-02-06 55 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

回答

相關問題