どの iOS デバイスが現在アプリを実行しているかを知る必要があります (より正確に言うと、デバイス armv6 または armv7 を知る必要があります)。UIUserInterfaceIdiomPad() は、デバイスが iPhone4S または iPhone3G であることを確認できませんでした。出来ますか?
12472 次
2 に答える
11
https://github.com/erica/uidevice-extension (UIDevice-Hardware クラス) をダウンロードすると、これらを使用できます。
[UIDevice currentDevice] platformType] // returns UIDevice4GiPhone
[[UIDevice currentDevice] platformString] // returns @"iPhone 4G"
または、その網膜かどうかを確認します
+ (BOOL) isRetina
{
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
return [[UIScreen mainScreen] scale] == 2.0 ? YES : NO;
return NO;
}
またはiOSのバージョンを確認してください
+ (BOOL) isIOS5
{
NSString *os5 = @"5.0";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
// currSysVer = @"5.0.1";
if ([currSysVer compare:os5 options:NSNumericSearch] == NSOrderedAscending) //lower than 4
{
return NO;
}
else if ([currSysVer compare:os5 options:NSNumericSearch] == NSOrderedDescending) //5.0.1 and above
{
return YES;
}
else // IOS 5
{
return YES;
}
return NO;
}
于 2012-06-18T11:34:35.430 に答える
1
arm6 と arm7 のどちらで実行しているか (実行時に) 本当に知りたい場合は、" NXGetArchInfoFromCPUType
" を使用できます (詳細については、この質問に対する受け入れられた回答を参照してください)。
それ以外の場合は、信じられないほど迅速に回答する友人の Omar が提案したように (そして彼に +1!)、platformType または platformString を使用できます。
于 2012-06-18T11:35:36.870 に答える