「Objective-C」ios開発でデバイス名と解像度を取得するサンプルコード

ダウンロード
https://github.com/InderKumarRathore/UIDeviceUtil
https://github.com/SVGKit/SVGKit

サンプルコード:
size_t size;
sysctlbyname(“hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname(“hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(machine);

if( [platform hasPrefix:@"iPhone1″]
|| [platform hasPrefix:@"iPhone2″]
|| [platform hasPrefix:@"iPhone3″])
return 163.0f;

if( [platform hasPrefix:@"iPhone4″]
|| [platform hasPrefix:@"iPhone5″]
|| [platform hasPrefix:@"iPhone6″])
return 326.0f;

//
//
// Note: iPhone6 326ppi
if( [platform hasPrefix:@"iPhone7″]) {
return 401.0f;
}

if( [platform hasPrefix:@"iPhone"]) // catch-all for higher-end devices not yet existing
{
NSAssert(FALSE, @"Not supported yet: you are using an iPhone that didn’t exist when this code was written, we have no idea what the pixel count per inch is!");
return 326.0f;
}

if( [platform hasPrefix:@"iPod1″]
|| [platform hasPrefix:@"iPod2″]
|| [platform hasPrefix:@"iPod3″])
return 163.0f;

if( [platform hasPrefix:@"iPod4″]
|| [platform hasPrefix:@"iPod5″])
return 326.0f;

if( [platform hasPrefix:@"iPod"]) //ハイエンドデバイス
{
NSAssert(FALSE, @"Not supported yet: you are using an iPod that didn’t exist when this code was written, we have no idea what the pixel count per inch is!");
return 326.0f;
}

if( [platform hasPrefix:@"iPad1″]
|| [platform hasPrefix:@"iPad2″])
return 132.0f;
if( [platform hasPrefix:@"iPad3″]
|| [platform hasPrefix:@"iPad4″])
return 264.0f;
if( [platform hasPrefix:@"iPad"]) // catch-all for higher-end devices not yet existing
{
NSAssert(FALSE, @"Not supported yet: you are using an iPad that didn’t exist when this code was written, we have no idea what the pixel count per inch is!");
return 264.0f;
}

if( [platform hasPrefix:@"x86_64″])
{
DDLogWarn(@"[%@] WARNING: you are running on the simulator; it’s impossible for us to calculate centimeter/millimeter/inches units correctly", [self class]);
return 132.0f; // シミュレータ、デスクトップマシンで実行

IOS

Posted by arkgame