9

iOSアプリケーション用にInfo.plistを準備しています。各オプションを慎重に設定したいと思います。ただし、$ {REGION}、$ {APPNAME}、$ {EXTRA_ICONS}などの奇妙な変数がいくつかあります。Xcodeを介して設定されていると思いますか?

Xcodeが値を台無しにしたくありません。簡単に設定できますか?たとえば、${REGION}の場合は「en」を挿入します。CFBundleDisplayNameの場合– <strong>何もありません。ドキュメントには次のように記載されているためです:

バンドルをローカライズする予定がない場合は、このキーをInfo.plistファイルに含めないでください。このキーを含めてもバンドル名の表示には影響しませんが、このキーのローカライズされたバージョンを検索するとパフォーマンスが低下します。

等々。簡単にできますか?「CFBundleExecutable」には何を挿入しますか?Xcodeが何を生成するかを知る必要があると思いますか?

これは恐ろしい設計です。2つの値のソースがあります。plist自体と、Xcode内のいくつかの愚かなmeta-plistです。

4

1 に答える 1

11

「 Info.plistInfo.plistファイルのビルド設定を展開する」( INFOPLIST_EXPAND_BUILD_SETTINGS) プロジェクトのビルド設定により、ファイルは Xcode によって処理されます。

ビルド設定と構成に応じて異なる Info.plist を持つことを回避し、複数の場所で設定を変更することを回避するため、これは通常優れた機能です。ただし、本当に必要ない場合は、プロジェクトまたはターゲットのビルド設定でこの設定をオフにしてください。


ビルド設定で選択した値が Info.plist で報告されるように、とにかくこの設定をオンにしておくことをお勧めします。たとえば、アプリケーション名などを変更する必要がある場合は、ビルド設定で直接変更してください。このようにして、ビルド設定と Info.plist ファイルの間の一貫性を保つことができ、構成に一貫性がないという危険を冒すことはありません。

良い例は、あなた自身の質問で自分自身を書いたものです:ファイルのCFBundleExecutableエントリです。Info.plist通常、このエントリには、バンドル内の実行可能ファイルの名前を含める必要があります (iOS が .ipa バンドル内で起動する実行可能ファイルを認識できるようにするため)。

通常、この値はビルド設定 (通常はビルド設定) によって異なりますEXECUTABLE_NAME。生成された実行可能ファイルの名前を (プロジェクトまたはターゲットの [ビルド設定] で) 変更し、Info.plist にこの値の定数文字列を配置した場合は、明らかにこのCFBundleExecutableキーを新しい名前に変更する必要があります。 Xcode によって生成された実行可能ファイル。このキーの値として使用する場合${EXECUTABLE_NAME}(およびプロジェクト設定で Info.plist の処理を​​有効にしておく場合)、Xcode がそれを置き換えて、Info.plist がビルド設定および名前と一致するようにします。生成された実行可能ファイルの。

Xcode で Info.plist ファイルのこの処理フェーズを無効にする利点はありません。それを利用し、${xxx}ビルド変数を使用し続けて、コンパイル時にXcodeの実際の値に置き換えられるようにして、一貫性を確保し、エラーを回避する必要があります。

于 2012-09-13T20:36:12.467 に答える