2013-10-23 37 views
8

隨着最新的Xamarin工作室(4.0.13)我試圖在我的應用程序中使用資產目錄。該應用程序有兩個不同的應用程序圖標集:一個用於所有測試(Test.plist)和分段(Staging.plist)構建,一個用於所有預生產(PreProduction.plist)和生產(Production.plist)生成。測試包中不包含任何應用程序圖標,因爲我們希望QA清楚,這與生產版本不一樣。Xamarin.iOS多個資產目錄

我已經開始做預構建plist cp步驟(不理想; Xamarin Studio應該有條件地支持包含基於構建配置的文件)。是否有條件捆綁(構建動作ImageAsset.appiconset.launchimage特定於我的構建配置?我已經指定了相關的XSAppIconAssetsXSLaunchImageAssets,但由於它們都標記爲ImageAsset,所以它們都被複制,並且(不幸地)被複制到Springboard可以找到並顯示它們的根文件夾中。

有沒有解決這個辦法沒有:

  • 增加但更多的預建cp ING正確的圖標集捆綁成一組是唯一一個標ImageAsset

    cp iPhone/buildPlists/Staging-Info.plist Info.plist; 
    cp -r Resources/Images.xcassets/TestAppIcons.appiconset/* 
         Resources/Images.xcassets/AppIcons.appiconset; 
    cp -r Resources/Images.xcassets/TestLaunchImages.launchimage/* 
         Resources/Images.xcassets/LaunchImages.launchimage 
    
  • 將空白圖像文件添加到TestAppIcons.appiconset目錄?這不起作用,訂單圖標集複製到輸出文件夾是不確定

回答

2

我使用上述cp腳本,基本上已經解決了我的問題。當你做一個預建的plist拷貝步驟中被檢查

你不能依靠XSAppIconAssetsXSLaunchImageAssets

更多信息可以幫助別人。 Xamarin Studio似乎使用Info.plist,開始構建過程中的值。

資產目錄工作在引擎蓋下的方式如下:

  • 通常,目錄圖像被複制到在形式CatalognameModifiers.ext.app(例如[email protected]
    • 對於啓動圖像,目錄名被分配給UILaunchImagesInfo.plist,和OS處理的這些透明
    • 對於應用圖標的查找時,圖標被重命名爲CatalognameDimensions.ext,包括57x57(其先前被簡單地Icon.png/[email protected]),並且這些名稱以Info.plist
CFBundleIconsCFBundleIcons~ipad鍵分配給陣列

由於上述重命名,您需要指定產品目錄名稱,而不是所提及的here中的「資產名稱」。在我的情況下,我對突然沒有出現在應用程序中的啓動圖像感到困惑(我的應用程序從啓動畫面移動到加載閃爍圖像上)。解決方法是更改​​代碼以請求UIImage.FromBundle("LaunchImages"),而不是"Default"。請注意,對於iPhone 5,您目前需要請求"LaunchImages-568h"以獲得正確的圖像。