使用最新的Xamarin Studio(4.0.13),我正在尝试在我的应用中使用资产目录。该应用程序具有两个不同的应用程序图标集:一个用于所有测试(Test.plist)和登台(Staging.plist)构建,一个用于所有预生产(PreProduction.plist)和生产(生产) .plist)构建。测试包中包含NO app图标,因为我们希望QA清晰,这与生产版本不同。
我已经开始执行Pre-Build plist cp
步骤(不理想; Xamarin Studio应该有条件地支持包含基于构建配置的文件)。有没有办法有条件地捆绑(构建操作ImageAsset
)特定于我的构建配置的.appiconset
和.launchimage
?我已经指定了相关的XSAppIconAssets
和XSLaunchImageAssets
,但由于它们都标记为ImageAsset
,因此无论如何它们都会被复制,并且(不幸的是)被复制到Springboard可以找到的根文件夹中并显示它们。
有没有办法解决这个问题:
添加更多预构建cp
以将正确的图标集捆绑到一个集合中,这是唯一标记为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
目录?
答案 0 :(得分:2)
我使用了上面的cp
脚本,它基本上解决了我的问题。
可能有助于他人的更多信息:
在执行Pre-Build plist复制步骤后,您不能依赖XSAppIconAssets
和XSLaunchImageAssets
进行检查。 Xamarin Studio似乎在构建过程的开头中使用Info.plist
中的值。
资产目录以下列方式运作:
.app
的形式复制到CatalognameModifiers.ext
(例如LaunchImages@2x.png
)
UILaunchImages
中的Info.plist
键,操作系统将以透明方式处理这些内容CatalognameDimensions.ext
,包括57x57
(之前只是Icon.png
/ Icon@2x.png
),这些名称已分配给数组在CFBundleIcons
CFBundleIcons~ipad
和Info.plist
键下
由于上述重命名,您需要指定目录名称,而不是here中指定的“资产名称”。在我的情况下,我很惊讶突然没有出现在应用程序中的启动图像(我的应用程序从启动画面移动到启动图像上的加载微调器)。解决方案是将代码更改为请求UIImage.FromBundle("LaunchImages")
,而不是"Default"
。请注意,对于iPhone 5,您目前需要"LaunchImages-568h"
来获取正确的图像。