13

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

4

4 回答 4

16

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

于 2014-01-23T13:07:31.780 回答
6

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

在此处输入图像描述

还要在 plist 中添加“图标文件”行并指定您的应用程序图标名称。

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

在此处输入图像描述

于 2013-10-21T07:54:55.863 回答
4

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

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

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

于 2015-02-09T10:20:49.710 回答
2

所以我写了一个脚本来删除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}"
于 2015-03-20T10:42:21.210 回答