1

これはそれほど重大な問題ではありませんが、私のプロジェクトでは、アプリのバージョンごとに複数のターゲットがあります。4インチの網膜発射画像「Default-568h@2x.png」を追加できますが、他の画像のようにターゲットごとに異なるバージョンを指定することはできません。1つのターゲットで変更すると、(誤って)変更されます。他のターゲットでは、xcode 4.5のバグのようですが、何かを見逃した場合に備えて質問したいと思います。現状では、回避策は、ターゲットを切り替えるときに、ビルドごとにイメージを変更することです。最近、私はそれをするのを忘れるつもりです;-)ありがとう。

4

1 に答える 1

1

あなたが説明するバグを確認していませんが、これは回避するのに十分簡単なようです。iOSが行うのは、起動時にアプリケーションバンドルでDefault.png(など)を探すことだけです。

ターゲット情報ペインで目的の操作を実行できない場合は、Xcodeの残りの部分が機能した後で、Default-568h@2x.pngを置き換えることでオーバーライドできます。

これが私の提案です。ターゲットごとにこれを行う必要があります。

  1. Default-568h@2x.png画像をサブディレクトリに移動します。
  2. 最後に、ファイルのコピービルドフェーズを各ターゲットに追加します。
  3. リソースディレクトリにコピーするビルドフェーズを設定します。
  4. 適切なDefault-568h@2x.pngをビルドフェーズにドラッグします。

これを試して、必要なことを実行できるかどうかを確認してください。動作してもビルド警告が表示される場合は、代わりにスクリプトフェーズを使用できます。次のようになります。

cp ${PROJECT_DIR}/your-subdirectory-here/Default-568h@2x.png \
   ${CODESIGNING_FOLDER_PATH}/Default-568h@2x.png

スクリプトフェーズには、宛先ファイルの名前を指定できるという利点があります。画像をサブディレクトリに配置する必要はありません。

とはいえ、スクリプトに慣れていない限り、最初にコピーフェーズを試すことをお勧めします。それがとにかくうまくいかないのであれば、あなたが快適ではない何かで遊んでも意味がありません。

于 2012-11-02T18:18:58.630 に答える