具有多个目标的资产目录问题

时间:2013-10-21 07:32:40

标签: ios ios7 asset-catalog

我有一个包含多个目标的项目。假设目标命名为Target-A,Target-B等。对于每个目标,我都有一个不同的应用程序图标资产目录。它们被命名为AppIcon-A,AppIcon-B,它继续用于所有目标。我已将相应的资产目录分配给所有目标,但它仅在我在设备/模拟器上运行时显示Target-A的图标。对于所有其他目标,它不会设置任何图标并显示iOS 7默认占位符图标。 请帮忙!

4 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:6)

当您添加应用程序图标图像时,请在将测试图标-1添加到测试目标时注意,然后仅选择测试目标而不是测试副本目标相同的测试副本目标。

enter image description here

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

enter image description here

enter image description here

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

enter image description here

enter image description here

答案 2 :(得分:4)

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

  1. 打开您的xcassets文件
  2. 右键单击左栏
  3. 点击“新建应用图标”
  4. 然后,您可以轻松地为每个目标选择正确的“应用程序图标”。

答案 3 :(得分:2)

所以我写了一个脚本来删除Lukapple指出的所有那些行。在Target Dependencies之后使用代码在xcode项目中运行Script。

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}"