Цель C способ определить, является ли используемое устройство iPod - PullRequest
1 голос
/ 03 февраля 2012

Я пытаюсь найти способ определить, является ли используемое устройство iPod touch, есть ли такое?

Я использую этот метод для iPad ...

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

Ответы [ 2 ]

6 голосов
/ 03 февраля 2012

Почему ты хочешь знать? Если это потому, что вы хотите знать, есть ли у вас камера, можно ли делать телефонные звонки и т. Д., То лучше сделать это с помощью функции обнаружения (в случае, если Apple в какой-то момент сделает iPod с телефоном в нем!), Например, у Клиффа ответить.

Если это по какой-то другой причине, и вы действительно хотите знать, является ли это iPod или iPhone, независимо от реальных возможностей устройства, вот как вы это делаете:

if ([[UIDevice currentDevice].model isEqualToString:@"iPod touch"])
{
    ...
}
0 голосов
/ 03 февраля 2012

Грубый взлом, который я использовал в прошлом, - это запросить, может ли устройство набрать номер телефона.Я забыл синтаксис, но там должно быть что-то вроде

if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:+11111"]]) {
  //we have an iphone
} else if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
  //We have an iPad....
} else {
  //We probably have an iPod....
}

Честно говоря, я предпочитаю этот подход, а не абсолютное обнаружение, потому что он сосредоточен на возможностях устройства, а не модели.Лучше условно логизировать, основываясь на том, на что способно устройство, а не на модели, потому что вы никогда не знаете, какие возможности будут представлены в будущем выпуске устройств iOS.Например, скрытие элементов управления видео, если тип устройства == iPad, имело бы практический смысл чуть более года назад, но ограничило бы эту функциональность, когда iPad2 был представлен в течение нескольких месяцев.Если вы полагаете, что только из-за того, что устройство является iPod, вы должны или не должны выполнять функции X, тогда вы будете ограничивать функциональность в следующих выпусках продукта, если эта возможность будет добавлена.

...