4

ここでこのコードを見つけました:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        str = [NSString stringWithString:@"Running as an iPad application"];
    } else {
        str = [NSString stringWithString:
                  @"Running as an iPhone/iPod touch application"];
    }

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Platform"
                                                    message:str
                                                   delegate:nil
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];   

このチェックの安全性は? Appleは実際にこれを行うことを推奨していますか? それとも、iPad を iPad として、または iPhone を iPhone として検出しないということは起こり得ますか?

4

1 に答える 1

7

それは十分に安全であるはずです.Appleによって十分に文書化されています.

これは、次のコードの省略形です。

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
// etc

iOS 3.2 よりも前のバージョンでこれを実行しようとすると失敗する可能性があります (iOS 3.2 は導入されたばかりなので) が、これは問題にならない可能性があります。

于 2010-10-11T11:13:33.620 に答える