古いSDK、つまり5.0で開発されたアプリがあります。iPhone 5でレターボックスモードで実行されないようにアプリを変更したいのですが、同時に自動レイアウト機能に切り替えず、sdk 6.0を使用しません.私のアプリには多くのハードコードされた四角形とランタイムがあるためアプリを修正して画面サイズを確認し、iPhone 5 用に特別なコーディングを行います。この方法で SDK 6.0 にアップグレードせず、自動レイアウト機能を使用しない場合、アプリが拒否される可能性はありますか? ?
1 に答える
AutoLayout を使用しないために拒否されることはありません。必要に応じて使用できる機能です。iPhone 5 では必須ではありません。
iOS 6 SDK に関しては、それに対してビルドすることを強くお勧めします。今後、Apple が iOS 5 以下の Base SDK を使用したアプリケーションを受け入れ続けるという保証はありません。そのため、今すぐ準備する必要があります。
iPhone 5 に関しては、引き続き iOS 6 SDK に対してビルドできますが、iPhone 5 の「トール モード」はサポートされません。トール モードをサポートするには、iPhone 5 の起動イメージを提供したことを示す を含める必要がありDefault-568h@2x.png
、アプリケーションもそれをサポートしていることを示唆します。この画像を含めない場合、アプリはレターボックス モードで実行され、iPhone 4S 以下の表示をエミュレートします。
iPhone 5 をサポートしたい場合、および iPhone 5 で実行しているかどうかを判断する方法が必要な場合 (特殊なケースの場合)、a を使用し#define
て確認できます (どこにでもインポートされるヘッダー ファイルに配置し、おそらく、.pch に含まれるヘッダー)。
#define IsRunningTallPhone() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568)
次に、アプリ全体で、iPhone 5 で実行されているかどうかを確認する必要がある場合は、呼び出しますIsRunningTallPhone()
(または、最適と思われる名前を付けます)。