Как узнать устройство? - PullRequest
1 голос
/ 15 июня 2011

Я разрабатываю комикс с использованием Cocoa Touch в Xcode. Я не знаю, как получить подробную информацию об устройстве, будь то устройство iphone, ipad или ipod.

Я пытаюсь сделать универсальный билд.

Как определить устройство? Есть ли способ изменить размер экрана в зависимости от устройства?

Ответы [ 6 ]

2 голосов
/ 15 июня 2011

Вы можете использовать это для первого вопроса -

   + (BOOL)isDeviceAniPad {
    #ifdef UI_USER_INTERFACE_IDIOM
        return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
    #else
        return NO;
    #endif
    }

А для второго вам не нужно менять его самостоятельно, iphone / ipad будет использовать размеры представлений, соответствующие его экрану.Вам нужно будет предоставить изображения разных размеров или масштабировать их до размера экрана.

1 голос
/ 15 июня 2011

UIDevice класс:

NSString *deviceType = [UIDevice currentDevice].model;

if([deviceType isEqualToString:@"iPhone"])
    // it's an iPhone
1 голос
/ 15 июня 2011

, если необходимо различать все три типа устройств:

Определить устройство (iPhone, iPod Touch) с помощью iPhone SDK

1 голос
/ 15 июня 2011

NSString * deviceType = [UIDevice currentDevice] .model;
NSLog (@ "% @", deviceType);

       or
1 голос
/ 15 июня 2011

Не пытайтесь проверить определенные модели устройств, вместо этого проверьте функции устройства.

Для просмотра размера экрана UIUserInterfaceIdiom в документации.

0 голосов
/ 15 июня 2011
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0); 
char *name = malloc(size);
sysctlbyname("hw.machine", name, &size, NULL, 0);

теперь вы можете сравнить как
if (strcmp(name, "iPhone1,1")) и другие ... "iPhone1,2" ...

...