2013-10-23 28 views
8

最新のXamarin Studio(4.0.13)では、私のアプリでアセットカタログを使用しようとしています。すべてのテスト(Test.plist)とステージング(Staging.plist)ビルド用と、すべてのプレプロダクション(PreProduction.plist)ビルドとプロダクション(Production.plist)ビルド用に1つずつ、の2つのアプリアイコンセットがあります。テストバンドルにはNOアプリのアイコンが含まれています。これは、QAをクリアすることが必要なので、これは本番ビルドと同じではありません。Xamarin.iOS複数のアセットカタログ

私は既にビルド前のplist cpの手順を開始しました。(理想的ではありません; Xamarin Studioはビルド設定に基づいて条件付きでファイルをサポートする必要があります)。条件付きでバンドルする(ビルドアクションImageAsset.appiconset.launchimageはビルド構成に固有のものですか?私は関連するXSAppIconAssetsXSLaunchImageAssetsを指定しましたが、それらはすべてImageAssetとマークされているので、すべてがコピーされて、残念ながらSpringboardが見つけて表示できるルートフォルダにコピーされます。

この周りにどのような方法がなくてあります。一つだけである1セットに正しいアイコンセットをバンドルすることがさらにビルド前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カタログに空の画像ファイルを追加しますか?これは動作しません、注文アイコンセットが出力フォルダにコピーされますが、私は基本的に私の問題を解決した上でcpスクリプトを使用しました

答えて

2

定義されていません。他人を助けること

詳細情報:

あなたはXSAppIconAssetsに頼ることはできません、あなたが事前ビルドplistのコピーステップを行った後XSLaunchImageAssetsがチェックされています。 Xamarin Studioは、Info.plistにある値を、の開始プロセスのに使用しています。

アセットカタログはボンネットの下、以下のように動作:一般に

  • は、カタログの画像がフォームCatalognameModifiers.ext.appにコピーされる(例えば起動画像の場合[email protected]
    • 、カタログ名はInfo.plistUILaunchImagesキーに割り当てられ、そしてOSはアプリのアイコンにこれらの透過
    • の検索を処理され、アイコンは57x57含め、CatalognameDimensions.extに名称​​変更されている(ました以前に)単にIcon.png/[email protected]し、これらの名前はInfo.plist
CFBundleIconsCFBundleIcons~ipadキーの下のアレイに割り当てられています

上記の名前の変更の結果、カタログ名のを指定する必要があります。hereのように「資産名」は指定しないでください。私の場合、私は突然、アプリケーションに表示されない起動イメージに困惑しました(私のアプリはスプラッシュ画面からスプラッシュ画像上のローディングスピナーに移動します)。解決策は"Default"ではなく、UIImage.FromBundle("LaunchImages")を要求するようにコードを変更していました。 iPhone 5の場合、正しい画像を取得するには、現在"LaunchImages-568h"をリクエストする必要があります。

関連する問題