我已经开始做一个Pre-Build plist cp步骤(不理想; Xamarin Studio应该有条件地支持包含基于build config的文件).有没有办法有条件地捆绑(构建动作ImageAsset)特定于我的构建配置的.appiconset和.launchimage?我已经指定了相关的XSAppIconAssets和XSLaunchImageAssets,但由于它们都被标记为ImageAsset,它们都会被复制,并且(不幸的是)被复制到Springboard可以找到并显示它们的根文件夹中.
有没有办法解决这个问题:
>添加更多预构建cping,将正确的图标集捆绑到一个集合中,这是唯一标记为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目录中?这不起作用,将订单图标集复制到输出文件夹是未定义的
解决方法
更多可能有助于他人的信息:
在执行预构建plist复制步骤后,您不能依赖XSAppIconAssets和XSLaunchImageAssets. Xamarin Studio似乎在构建过程开始时使用Info.plist中存在的值.
资产目录以下列方式工作:
>通常,目录图像以CatalognameModifiers.ext格式复制到.app中(例如LaunchImages@2x.png)
>对于启动映像,目录名称分配给Info.plist中的UILaunchImages键,操作系统处理这些透明的查找
>对于应用程序图标,图标被重命名为CatalognameDimensions.ext,包括57×57(以前只是Icon.png/Icon@2x.png),这些名称分配给Info中的CFBundleIcons和CFBundleIcons~ipad键下的数组的.plist
由于上面的重命名,你需要指定目录名称,而不是像here所述的’资产名称’.在我的情况下,我很惊讶发布图像突然没有出现在应用程序中(我的应用程序从启动画面移动在飞溅图像上加载微调器).解决方案是更改代码以请求UIImage.FromBundle(“LaunchImages”),而不是“默认”.请注意,对于iPhone 5,您目前需要请求“LaunchImages-568h”才能获得正确的图像.