как узнать это iphone или ipad? - PullRequest
4 голосов
/ 24 марта 2011

я хочу знать, что пользователь использует iphone или ipad, если пользователь использует iphone, я хочу открыть камеру, если он использует ipad или работает в симуляторе, я хочу открыть библиотеку.как это возможно?как найти детали устройств?как узнать текущее использование устройства пользователем через xcode?

Ответы [ 5 ]

23 голосов
/ 24 марта 2011
NSString *deviceType = [UIDevice currentDevice].model;

if([deviceType isEqualToString:@"iPhone"])
{
     //your code
}
.....

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ:

См. Эту тему - define-device-iphone-ipod-touch-with-iphone-sdk .

13 голосов
/ 10 августа 2011
[[UIDevice currentDevice].model hasPrefix:@"iPhone"]

Используйте hasPrefix, чтобы он работал в симуляторе.

11 голосов
/ 24 марта 2011

Вы не должны определять, есть ли камера, глядя на модель.Это не перспектива на будущее - например, вы не будете поддерживать камеру iPad 2.

UIImagePickerController имеет специальный метод, чтобы определить, доступна ли камера:

+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType

с sourceType, являющимсяодин из

UIImagePickerControllerSourceTypePhotoLibrary,
UIImagePickerControllerSourceTypeCamera,
UIImagePickerControllerSourceTypeSavedPhotosAlbum
6 голосов
/ 24 марта 2011

Используйте это для идентификации устройств.

// If iPhoneOS is 3.2 or greater then __IPHONE_3_2 will be defined
#ifndef __IPHONE_3_2    

typedef enum {
    UIUserInterfaceIdiomPhone,           // iPhone and iPod touch
    UIUserInterfaceIdiomPad,             // iPad
} UIUserInterfaceIdiom;

#define UI_USER_INTERFACE_IDIOM() UIUserInterfaceIdiomPhone

#endif // ifndef __IPHONE_3_2

но если вы хотите проверить, доступна ли камера, я думаю, вы можете использовать статический метод UIImagePickerController

+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType
0 голосов
/ 07 декабря 2014

Работая над ответом Вайбхава Текама, я использовал это

NSString *deviceType = [UIDevice currentDevice].model;


if([deviceType hasPrefix:@"iPhone"])
{
     //your code
}

или

 NSString *deviceType = [UIDevice currentDevice].model;

if([deviceType hasPrefix:@"iPad"])
{
     //your code
}

и т. Д.Это намного проще, так как охватывает все модели.

...