ユニバーサル アプリケーションで、Popover、SplitViewController for iPad などのプラットフォーム固有の機能を使用して、デバイスを確認せずに使用するとどうなりますか
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
方法。iPhone で実行している場合、アプリケーションはクラッシュしますか?
ユニバーサル アプリケーションで、Popover、SplitViewController for iPad などのプラットフォーム固有の機能を使用して、デバイスを確認せずに使用するとどうなりますか
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
方法。iPhone で実行している場合、アプリケーションはクラッシュしますか?
あなたの質問に答える: はい、そうです。特定のコントローラーは特定の環境でのみ機能します (誰が推測したでしょうか...)。そのようなコードを回避することもできますif(IS_iPAD()){//Do something}
。
それが生成するエラー:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.'