アイコンのローカライズ時の注意点

「iPhone SDKの教科書」のサンプルをApp Storeにサブミット中ですが、アプリケーション・アイコンをローカライズしているAgeのバイナリーをアップロードすると以下のエラーが出ます。

The binary you uploaded was invalid. The bundle did not contain an icon.

よくよく調べてみるとiPhone Application Programming Guide(キホンだよな〜苦笑)に、こんな記述がありました。

Even if you provide localized versions, however, you should always include a default version of these files at the top-level of your application bundle. The default version is used in situations where a specific localization is not available.

アプリケーションのパッケージを開けば分かるように、アイコン・ファイルはローカライズしているから、English.lprojやJapanese.lprojといったフォルダ内にあります。しかし、これじゃダメで、トップ・レベル(パッケージを開いてすぐの階層)にもアイコン・ファイルが必要ってことのようです。

もっとも、トップ・レベルになくても、.lprojフォルダにアイコン・ファイルがあれば、非対応言語の場合でも正しく表示されます。また、App Storeでは言語ごとにアプリケーション・アイコン(512×512ピクセル)を変えて登録できないから、なんだか中途半端な気もしますね。

ともあれ、この点はアップロード時に自動チェックされるので、以下の手順で対処する必要があります。ただし、これはローカライズ時にXcodeが自動的にすべき仕事ですよね。

  • .lprojフォルダとは別にImagesフォルダにもIcon.pngを入れる。
  • (このIcon.pngは英語版でも日本語版でもどちらでも良い。)
  • ImagesフォルダのIcon.pngをプロジェクトのImagesグループに登録する。
  • アプリケーションをビルドし直す。

files-of-age

1 thought on “アイコンのローカライズ時の注意点

  1. ピンバック: akalogue » サンプル・アプリケーションがApp Storeに勢揃い

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.