Подтвердить что ты не робот

Это правильный способ обнаружения iPad?

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

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

Ответ 1

Используйте макрос 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" обязательно будет где-то внутри строки.

Ответ 2

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

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // ...
}