2

iphone 5のフル解像度を使用し、これまでのところ完全に機能するアプリケーションがあります。テスターから、ipodTouch5gでは動作しないという苦情がありました。

驚いたことに、ログには[UIScreen mainScreen] .boundsがipodTouchで(320.0、480.0)を返し、iphone 5では正しい境界(320.0、568.0)が表示されていることが示されています。

この後、調査したところ、「-568h」というサフィックスが付いた画像が存在するかどうかをiOSが検索し、レターボックスモード(320,480)またはフル解像度(320,568)のいずれかで実行することを決定したようです。

今、私は厄介な疑いを持っています:私たちの高解像度スプラッシュスクリーン画像の名前はDefault~iphone-568h@2x.pngであり、これはAppleに応じて機能するはずです(私たちはipadとiphoneの両方で実行されているユニバーサルアプリを持っています)。

私はまだここにiPodtouchを持っていないので、誰かがこの疑いを確認できますか?

  • Default〜iphone-568h@2x.pngはiphone 5で動作しますが、ipodtouch5gでは動作しません

  • デフォルト-568h@2x.pngは両方のデバイスで機能します。

編集:8-0私はこれを信じていません。これで、ipodTouchとiphone5が利用可能になりました。示されているように、ipadとiphoneを区別するために、他の画像に〜iphone修飾子を使用しています。

Default〜iphone-568h@2x.pngの名前をDefault-568h@2x.pngに変更すると、ipod touch 5で機能するようになりましたが、iphone5では機能しなくなりました。正反対です!!

レプリケーション:

  • すべてのデバイスにユニバーサルアプリを使用する(iphone / ipad retina / non-retina / 4 ")

  • iphone / ipodの場合は「〜iphone」識別子に名前を付け、ipadの場合は何も付けない

  • Default〜iphone-568h@2x.pngまたはDefault-568h@2x.pngのいずれかを使用して、iphone5とiphonetouch5の両方で正しいフル解像度で実行されるかどうかを確認します。

誰かがこれを確認してくれませんか?Xcode 4.5.2 / iOS SDK 6.0

編集2:rckoenesの回答でうまくいきましたが、それでもiPhoneのデバイス識別子が正しく機能しないことに失望しています。

4

2 に答える 2

3

正しくありません。これDefault~iphone-568h@2x.pngは正しいはずです Default-568h@2x.png~iphone起動イメージで修飾子を使用しないでください~iphone。or~ipad修飾子は、さまざまなデバイスでのビューロードの特定のイメージが必要な場合にのみ役立ちます。したがって、起動イメージには必要ありません。

これは、アプリの起動(デフォルト)イメージに関するiOSアプリプログラミングガイドのセクションにあります。

私のユニバーサルアプリには次の画像があります。

  • Default.png
  • Default@2x.png
  • デフォルト-568h@2x.png
  • デフォルト-Portrait〜ipad.png
  • デフォルト-Portrait@2x~ipad.png
  • デフォルト-Landscape〜ipad.png
  • デフォルト-Landscape@2x~ipad.png
于 2013-01-22T11:27:33.613 に答える
1

デバイスモディファイアは、ファイル名の末尾にある必要がありますhttp://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html

したがって、ファイルの正しい名前はDefault-568h@2x~iphone.pngです。

于 2013-01-22T11:28:40.037 に答える