【问题标题】:Asset Catelog issue with multiple targets具有多个目标的资产目录问题
【发布时间】:2013-10-29 14:16:06
【问题描述】:

我有一个包含多个目标的项目。假设目标命名为 Target-A、Target-B 等。对于每个目标,我都有不同的应用图标资产目录。它们被命名为 AppIcon - A、AppIcon - B 并且适用于所有目标。我已经为所有目标分配了各自的资产目录,但是当我在设备/模拟器上运行时,它只显示 Target-A 的图标。对于所有其他目标,它不设置任何图标并显示 iOS 7 默认占位符图标。 请帮忙!

【问题讨论】:

    标签: ios ios7 asset-catalog


    【解决方案1】:

    当您添加应用程序图标图像时,请注意在将应用程序 icon-1 添加到测试目标时,然后为测试复制目标选择仅测试目标而不是测试复制目标。

    同时在 plist 中添加“图标文件”行并指定您的应用图标名称。

    请查看以下屏幕截图,您会得到一些想法。

    【讨论】:

    • 遇到了同样的问题。我忘记将资产目录添加到我的第二个目标,如第一个屏幕截图所示。太感谢了!
    【解决方案2】:

    如果您在项目中使用 POD,则必须编辑“Pods-resources.sh”并删除“xcassets”命令(见附图)。

    【讨论】:

    【解决方案3】:

    对我来说最简单的方法是在同一个xcassets 文件中添加多个“应用程序图标”。使用这种技术,我对 Cocoapod 没有任何问题:

    1. 打开您的 xcassets 文件
    2. 右击左栏
    3. 点击“新建应用图标”

    然后您可以轻松地为每个目标选择正确的“应用程序图标”。

    【讨论】:

      【解决方案4】:

      所以我编写了一个脚本来删除 Lukapple 指出的所有那些行。在目标依赖项之后粘贴代码以在 xcode 项目中运行脚本。

      echo "run script to remove Pods-resources.sh"
      file_name="${PROJECT_DIR}/Pods/Target Support Files/Pods/Pods-resources.sh"
      function remove_wrapper_extensions {cat "$1" | awk 'BEGIN { suppress_output = 0; } /^if \[\[ -n/ { suppress_output = 1; } (!suppress_output) { print $0; } /^fi$/ { suppress_output = 0; }' > "${1}.1"}
      function remove_case_statement {cat "$1" | awk 'BEGIN { suppress_output = 0; } /\s*\*\.xcassets\)$/ { suppress_output = 1; } (!suppress_output) { print $0; } /;;/ && (suppress_output) { suppress_output = 0; }' > "${1}.2"}
      remove_wrapper_extensions "$file_name"
      remove_case_statement "${file_name}.1"
      rm "${file_name}"
      rm "${file_name}.1"
      mv "${file_name}.1.2" "$file_name"
      chmod +x "${file_name}"
      

      【讨论】:

        猜你喜欢
        • 2016-08-02
        • 1970-01-01
        • 2019-12-26
        • 1970-01-01
        • 2013-11-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-02
        • 1970-01-01
        相关资源
        最近更新 更多