Это правильный способ обнаружить iPad? - PullRequest
10 голосов
/ 31 декабря 2010

Могу ли я использовать следующий код, чтобы определить, работает ли мое приложение на iPad? Мое приложение должно работать на iOS 3.0 или выше.

if([[[UIDevice currentDevice] model] isEqualToString:@"iPad"]){
  //Do iPad stuff.
}

Ответы [ 2 ]

28 голосов
/ 31 декабря 2010

Используйте макрос UI_USER_INTERFACE_IDIOM() на iOS> = 3.2:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
   //device is an iPad.
}

В более ранних версиях iOS вы можете использовать свой код, а именно:

NSRange ipadRange = [[[UIDevice currentDevice] model] rangeOfString:@"iPad"];
if(ipadRange.location != NSNotFound) {
  //Do iPad stuff.
}

Этот подход совместим с прямым направлением в том смысле, что если в следующем году Apple выпустит другой iPad, название модели может измениться, но слово «iPad» обязательно будет где-то внутри строки.

5 голосов
/ 31 декабря 2010

Неа.Сделайте это вместо:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...