0

私は読んApress - Beginning iPad Development for iPhone Developer Mastering the iPad SDKでいて、ある章でデバイスチェックと作者の書き込みについて読んでいます:

「ユーザーのデバイスタイプやオペレーティングシステムのバージョンを確認したくなるかもしれませんが、Appleは常に新しいデバイスとiOSバージョンをリリースしていますが、それは方法ではありません。より良いアプローチは、NSClassFromStringを使用して排他的なiPadクラスの可用性をテストすることです。 。UISplitViewControllerなどのiPadのみのクラス名をNSClassStringに渡し、有効なオブジェクトがreturnetである場合、ユーザーのデバイスがiPadであることがわかります。」

わかりません。たとえば、次の方法でデバイスタイプを確認するだけです。

  NSString *device = [[UIDevice currentDevice] model];

  if ([device rangeOfString:@"iPad"].location != NSNotFound ) {
        isIPad = true;
  }
  else isIPad = false;

iPadのクラスをチェックするよりも悪いですか?

4

2 に答える 2

8

Appleが独自の例をチェックインし、新しいユニバーサルアプリケーションを起動するときの方法は、次のようになります。

-(BOOL) isiPad {
    return UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad;
}

そして、モデルの使用がおそらく悪い理由は、文字列比較を使用しているだけだからです。[[UIDevice currentDevice] model]彼らがそれを変更するかどうかは疑わしいですが、モデル番号などを使用して返された文字列をいつ変更するかはわかりません。

于 2012-09-18T14:59:21.750 に答える
-1

この方法はあなたを助けるかもしれません

-(int)CheckDevice {

return ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) ? 1 :([[UIScreen mainScreen] bounds].size.height == 568) ? 5 :4;
}

戻る

  • iPad用1個
  • iphone 4 の場合は 4
  • iPhone 5の場合は5
于 2014-05-07T13:08:09.647 に答える