xcode 4.5では、ビルドごとに異なるターゲット設定を選択するにはどうすればよいですか。たとえば、デバッグ用のターゲット設定、リリース用のターゲット設定などです。ビルドなどに応じて異なるアイコンを定義できます。
2 に答える
選択肢は 2 つありますが、どちらも完璧ではありません。あなたが示唆するように、ビルド構成に応じて異なるアイコンを使用する具体的な例に焦点を当てますが、両方の手法をより広く適用できます.
Info.plist でリダイレクトする
これが最も簡単な方法です。ターゲットの Info.plist で「アイコン ファイル」プロパティを「Icon-${CONFIGURATION}」のように指定します。次に、「Icon-Release.icns」と「Icon-Debug.icns」の 2 つの ICNS アイコンを作成し、プロジェクトに追加します。それでおしまい。このアプローチの欠点は、必要なアイコンだけではなく、両方のアイコンがビルドされたアプリに毎回コピーされることです。
「スクリプトの実行」ビルド フェーズを使用する
これは少し複雑ですが、より良い結果が得られます。次のスクリプトを使用して、Run Script ビルド フェーズをターゲットに追加します。
cp "$(dirname "${PRODUCT_SETTINGS_PATH}")/Icon-${CONFIGURATION}.icns" "${SCRIPT_OUTPUT_FILE_0}"
出力ファイルを次のように指定します。
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Icon.icns
Info.plist の「Icon file」プロパティが「Icon」に設定されていることを確認してください。
これは、ソース ツリー内の Info.plist と同じフォルダーにあるアイコンに依存します (ただし、プロジェクトの構成に合わせてスクリプトを編集できます)。
また、このアプローチでは、Xcode はアイコンが正しく設定されていることを確認できないことに注意してください。たとえば、ターゲットの設定の [概要] タブでは、アイコンの疑問符プレースホルダーが引き続き表示されます。実際にビルドして動作を確認する必要があります。
私のソリューションは、Wade の最初のポイントにかなり近いものです。プロジェクト構成でユーザー定義の設定を使用して動的サフィックスを追加することもできます。
このソリューションを使用して、ビルドのアイコン、バンドル表示名、およびバンドル識別子を動的にして、開発バージョンの横にあるアプリ ストアのバージョンを使用できるようにします。