簡體   English   中英

在XCode 5中使用多個資產目錄的問題

[英]Issue with using multiple asset catalogs in XCode 5

我有一個應用程序有2個變化,只有品牌不同。 對於每個版本,我在資產目錄中都有一個AppIcon和LaunchImage。 我為每個版本創建了一個不同的目標。 在第二個版本中,當我嘗試在第二個資產目錄中選擇AppIcon時,它只是默認為第一個。 刪除第一個資產目錄似乎解決了它,但我更喜歡一個不那么“hacky”的解決方案。

我認為到目前為止我提出的最佳解決方案是在后續資產目錄中重命名資產。 例如,您可能有2個資產目錄,其中包含名為AppIcon和LaunchImage的資產。 在第二個資產目錄中,我將AppIcon和LaunchImage重命名為AppIcon1和LaunchImage1。 所以現在我可以在目標的構建設置的“常規”部分中選擇它們。

  1. 對兩個目標使用相同的資產目錄。
  2. 檢查它是否包含在兩個目標中(使用文件檢查器檢查目標成員資格)。
  3. 在每個目標上選擇適當的資產名稱(圖標)。

這應該工作,我用它有8個目標所以......

順便說一句,我發現有時啟動圖像在使用少量目標時不起作用,因此你可能需要復制然后選擇它(Xcode bug)。

就我而言,我正在使用可可豆莢。 可可豆莢腳本Pods-resources.sh以某種方式引起了這個問題。 從腳本中刪除資產部分解決了問題。

確保清理項目並刪除派生數據文件夾。

可以在此處找到要刪除的部件:

https://stackoverflow.com/a/21309102/832111

經過多次挫折之后,我擁有干凈,成功,獨立的圖像資產。 這對我有用:

  1. 我使用XCode為第一個目標(文件,新建,文件,資產)創建圖像目錄。 它只有該目標的成員資格。 正如Mark Horgan建議的那樣,我將內部appIcon和launchImages命名為,只是為了讓自己更容易。

  2. 接下來,我使用刪除引用的選項從我的項目中刪除了該目錄。

  3. 我重復了第1步,為第2個目標創建了一個圖像目錄。 它只有第二個目標的成員資格。 將目錄分配給目標是很棘手的,因為XCode僅提供“不使用圖像目錄”作為選項。 我選擇該選項,然后XCode提供“使用資產目錄”。 我選擇了新的catagot。 我再次將內部appIcon和launchImages命名為引用第二個目標,因此我可以識別它。

  4. 與2中一樣,我刪除了刪除引用刪除目錄。

  5. 離開XCode片刻,我打開了一個Finder窗口,找到了我的兩個不同的images.xcassets文件,這些文件已被XCode放在不同的目錄中。 我將這些文件重命名為每個引用它們的目標。 (我也將它們移動到主文件夾中,但當然這是一個偏好。)

  6. 回到XCode,我(重新)添加了xcassets文件,一次一個,確保它們被適當地添加到目標並復制到資源。

  7. 然后在XCode中,我選擇了每個目標,並使用“常規”選項卡為每個目標正確指定了圖像目錄。

我正在運行幾個目標,每個目標都有自己的資產目錄文件,包括AppIcon,LaunchImage和我在故事板中用於背景的自定義。

這聽起來像我有同樣的問題,當選擇應用程序圖標和啟動圖像的資產目錄時,它在構建時采取了錯誤的一個。 我通過修改每個資產目錄的.xcassets文件的“目標成員資格”來解決它。 它設置為每個xcassets文件只有與之相關的目標。 因此,每個資產目錄僅選擇一個目標。 現在,它是適用於每個目標的正確的AppIcon和LaunchImage。

我使用@ user216661解決方案,但在我的情況下,我沒有必要執行步驟2-7。

我創建了一個資產文件夾,其中包含特定目標的特定名稱(在我的情況下,每個目標一個資產文件夾)。 然后我通過從Finder中拖放圖像將這些圖像添加到那些xcassets文件夾中。 圖標和啟動圖像相同。 我沒有為每個目標定制圖形名稱。

在此解決方案中,您不會在資產文件夾之外存儲任何圖形。

如何只修改構建設置選項中的資產。對我來說,它工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM