Xamarin.iOS多个资产目录

使用最新的Xamarin Studio(4.0.13),我正在尝试在我的应用程序中使用资产目录.该应用程序有两个不同的应用程序图标集:一个用于所有测试(Test.plist)和登台(Staging.plist)构建,一个用于所有预生产(PreProduction.plist)和生产(Production.plist)构建.测试包中包含NO app图标,因为我们希望QA清晰,这与生产版本不同.

我已经开始做一个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目录中?这不起作用,将订单图标集复制到输出文件夹是未定义的

解决方法

我已经使用了上面的cp脚本,它基本上解决了我的问题.

更多可能有助于他人的信息:

在执行预构建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”才能获得正确的图像.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...