Dpi (veya daha doğru ppi) değerini doğrudan elde edemezsiniz, çünkü fiziksel ekranın milimetre (veya inç) sayısını bilmeniz gerekir.
Önce bir iPad mini olup olmadığını algılamalısınız ve daha sonra uygulamanızda her (henüz bilinen) aygıt için dpi değerini saklarsınız.
yazı Zamanla bu kod iPad mini'yi algılar: Yeni bir makine kimliği sonradan tanıtılacak olabilir çünkü gelecekteki sistemlere değil
#include <sys/utsname.h>
NSString *machineName()
{
struct utsname systemInfo;
if (uname(&systemInfo) < 0) {
return nil;
} else {
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
}
// detects iPad mini by machine id
+ (BOOL) isIpadMini {
NSString *machName = machineName();
if (machName == nil) return NO;
BOOL isMini = NO;
if ( [machName isEqualToString:@"iPad2,5"]
|| [machName isEqualToString:@"iPad2,6"]
|| [machName isEqualToString:@"iPad2,7"])
{
isMini = YES;
}
return isMini;
}
, ancak hiçbir gelece yöntem yoktur.
Bir iPad mini kullanım 163 dpi ise, aksi takdirde iPhone ve iPad için dpi'yi hesaplamak için, yukarıdaki bağlantıyı yorumda kullanın.
[Bu yanıt] (http://stackoverflow.com/a/7922666/759019) yardımcı olabilir. –
[çalışma zamanında iPhone/iPad/iPod Touch'ın ppi dosyasını alın] olası kopyası (http://stackoverflow.com/questions/3860305/get-ppi-of-iphone-ipad-ipod-touch-at-runtime) –
Yok her iki yanıtın da iPadMini – AlexWien