13

複数のターゲットを持つプロジェクトがあります。ターゲットには、Target-A、Target-B などの名前が付けられているとします。ターゲットごとに、アプリ アイコンの異なるアセット カタログがあります。それらは AppIcon - A、AppIcon - B という名前で、すべてのターゲットに適用されます。それぞれのアセット カタログをすべてのターゲットに割り当てましたが、デバイス/シミュレーターで実行すると、ターゲット A のアイコンしか表示されません。他のすべてのターゲットの場合、アイコンは設定されず、iOS 7 のデフォルトのプレースホルダー アイコンが表示されます。助けてください!

4

4 に答える 4

6

アプリ アイコン イメージを追加する場合は、アプリ アイコン 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 に答える