簡體   English   中英

Xcode 9 不再將 xcassets 復制到捆綁目標中

[英]Xcode 9 no longer copies xcassets into bundle target

我更新到 Xcode 9,現在當我構建我的包目標時,它不再包含 xcasset 圖像資源。

設置:

  1. xcasset 與目標相關聯Xcode 9 顯示與目標的關聯

  2. xcasset 包含在包目標的構建階段的“復制包資源”中。

Xcode 9 顯示復制包資源

結果

xcassets 中的圖像不存在於捆綁產品中。 顯示構建結果的終端

在使用 Xcode 8 的另一台機器上,我可以構建相同的包目標,並且存在 TestCatalog 中的圖像。

注意:TestImage.png(存在於任何 xcassets 之外)按預期包含在 Xcode 9 中。這讓我認為該問題與 xcassets 的包含方式有關。

謝謝你的幫助。

它工作得很好! Assets.car實際上是您的資產目錄,您的圖像就在其中。

如果 Xcode 之前從資產目錄中提取圖像並將它們放在框架的頂層,那是錯誤的行為! 資產目錄圖像應該被編譯到資產目錄的編譯版本( .car文件)中。 而這正是現在正在發生的事情。 並且沒有理由不應該在編譯過程中重命名資產目錄(因為無論如何您都無法在代碼中通過名稱直接引用資產目錄)。

您可以通過閱讀編譯期間生成的報告來確認這就是發生的事情。 但是,您不會將其包含在屏幕截圖中。 我會給你看。 這是我的項目,與您的相似:

在此處輸入圖片說明

這是報告的相關部分:

在此處輸入圖片說明

正如您在最后幾行中看到的, MyFrameworkAssets.xcassets已編譯到名為/MyCoolFramework.framework/Assets.car的資產目錄中,與您的項目完全一樣。

所以我認為問題僅僅是你試圖“從外部”(即使用終端)來看待這個問題。 真正知道這是否有效的方法是讓您的框架代碼引用圖像並顯示它,而您似乎沒有這樣的代碼。 您還可以下載AssetCatalogTinkerer並查看assets.car文件。 你會看到你的形象在那里!

暫無
暫無

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

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