【问题标题】:Xamarin.iOS multiple asset catalogsXamarin.iOS 多个资产目录
【发布时间】:2013-11-01 08:05:48
【问题描述】:

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

我已经开始执行 Pre-Build plist cp 步骤(不理想;Xamarin Studio 应该支持有条件地包含基于构建配置的文件)。有没有办法有条件地捆绑(构建操作ImageAsset.appiconset.launchimage 特定于我的构建配置?我已经指定了相关的XSAppIconAssetsXSLaunchImageAssets,但是因为它们都被标记为ImageAsset,所以无论如何它们都会被复制,并且(不幸的是)复制到 Springboard 可以找到并显示它们的根文件夹中。

有没有办法解决这个问题:

  • 添加更多 Pre-Build 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 目录? 这不起作用,订单图标集复制到输出文件夹未定义

【问题讨论】:

    标签: xamarin.ios xamarin-studio asset-catalog


    【解决方案1】:

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

    更多可能对其他人有所帮助的信息:

    在执行 Pre-Build plist 复制步骤后,您不能依赖检查 XSAppIconAssetsXSLaunchImageAssets。 Xamarin Studio 似乎在构建过程的开始处使用Info.plist 中存在的值。

    资产目录的工作原理如下:

    • 通常,目录图像以CatalognameModifiers.ext 的形式复制到.app(例如LaunchImages@2x.png
      • 对于启动图像,目录名称分配给Info.plist 中的UILaunchImages 键,操作系统透明地处理这些查找
      • 对于应用程序图标,图标被重命名为CatalognameDimensions.ext,包括57x57(以前只是Icon.png/Icon@2x.png),这些名称分配给CFBundleIcons和@987654336下的数组@ 输入Info.plist

    由于上述重命名,您需要指定目录名称,而不是here 中提到的“资产名称”。就我而言,我对启动图像突然没有出现在应用程序中感到困惑(我的应用程序从启动屏幕移动到启动图像上的加载微调器)。解决方案是将代码更改为请求UIImage.FromBundle("LaunchImages"),而不是"Default"。请注意,对于 iPhone 5,您目前需要请求 "LaunchImages-568h" 才能获得正确的图像。

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 2019-10-28
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多