检查UI_USER_INTERFACE_IDIOM()以确定它是iPhone还是iPad是否安全?

时间:2010-10-11 11:04:41

标签: iphone ipad universal-binary

我找到了这段代码here

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?

1 个答案:

答案 0 :(得分:7)

Apple应该足够安全,很好 - documented

这只是以下代码的简写:

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

如果你试图在低于iOS 3.2的任何东西上运行它,可能会失败(因为它只在那时引入),但这对你来说可能不是一个问题。