最近、iOS7 をサポートするようにアプリケーションを移行しました。その過程で、アセット カタログを使用するようにアプリのアイコンを更新しました。これはすべてアプリでうまく機能しています。ただし、オーガナイザーと TestFlight では、アプリのアイコンが表示されません。
同じことが TestFlight でも発生しています。これは、バンドルに何かが欠けていることを意味します。どんな助けでもありがたく受け取られます。
Icon files
そのため、アプリのリソースであるアイコンを指すアプリの plist にエントリが必要なようです。カタログに変換したときにXcodeがこれを削除しましたが。アセット カタログを保持しながら手動で作成したエントリを次に示します。
さまざまなアイコンでこれをテストしたことに注意してください。この設定は、アプリが実行時に実際に使用するアイコンには影響しません。このエントリはオーガナイザーと TestFlight でのみ使用されているようで、問題が解決しました。
アセット カタログを使用しているときに、アプリのアイコンをリンクし、 Ad-Hoc ディストリビューション/プロダクションでオーガナイザー、テスト フライト、および不明な AppStore の場所で表示されるようにするには、次の操作が必要になる場合があります。
.xassets
アセット カタログを作成したら、Xcode にリストされている起動イメージの名前とアプリ アイコンの名前をメモします。
デフォルトでは、これは
AppIcon
LaunchImage
[これを表示するには、Xcode で .xassets フォルダー/アイコンをクリックします。
各ビルドで作成されるのは、.app 内の次のデータ構造です。
アプリのアイコンの場合:
iPhone
AppIcon57x57.png
(iPhone 非網膜) [アイコン名のプレフィックスに注意してください]AppIcon57x57@2x.png
(iPhone網膜)そして、他のアイコン解像度のそれぞれについて同じフォーマット。
iPad
AppIcon72x72~ipad.png
(iPad 非網膜)AppIcon72x72@2x~ipad.png
(iPad網膜)(iPad の場合は、postfix が若干異なります)
主な問題
Xcode 5.0.1 では、アセット カタログの作成が完了した後、Info.plist
「 」のキーを自動的に作成しようとして失敗したことに気付きました。Icon files (iOS 5)
参照が正常に作成された場合、またはこれが Apple によってパッチされたか、単に機能した可能性がある場合は、画像名を確認して上記の形式を検証するだけです。
最終的解決:
次のキーをメインに追加します.plist
.plist
Xcode ではなく、TextWrangler などの外部テキスト エディターでメインを開いて、次のキーをコピーして貼り付けることをお勧めします。
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>AppIcon57x57.png</string>
<string>AppIcon57x57@2x.png</string>
<string>AppIcon72x72~ipad.png</string>
<string>AppIcon72x72@2x~ipad.png</string>
</array>
</dict>
</dict>
解決策の例のみを含めていることに注意してください。それらをすべて追加する必要があります。
外部エディターなしで Xcode にこのキーを追加する場合は、次を使用します。
Icon files (iOS 5)
- 辞書Primary Icon
- 辞書Icon files
- 配列Item 0
- 文字列 =AppIcon57x57.png
および各アイテム/アプリ アイコン。プロジェクトを最終的にアーカイブすると、最終的な .xcarchive ペイロード .plist に、ビルドして使用する上記のアイコンの場所が含まれるようになります。
<key>IconPaths</key>
<array>
<string>Applications/Example.app/AppIcon57x57.png</string>
<string>Applications/Example.app/AppIcon57x57@2x.png</string>
<string>Applications/Example.app/AppIcon72x72~ipad.png</string>
<string>Applications/Example.app/AppIcon72x72@2x~ipad.png</string>
</array>