2012-11-24 12 views

Odpowiedz

14

This answer zawiera link do metody narzędzia, aby uzyskać "ciąg platformy", który może . być wykorzystywane do identyfikacji różnych urządzeń iOS skopiować główną metodę tutaj dla wygody:

#include <sys/types.h> 
#include <sys/sysctl.h> 

- (NSString *) platform { 
    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); 
    return platform; 
} 

Acco rding do Models - The iPhone Wiki wartość powrotu platform jest jednym

  • iPad2,5
  • iPad2,6
  • iPad2,7

na IPAD mini.

+2

i te dodane do iPada Mini Retina display: iPad4,4 i iPad 4,5. – Scott

1

Widok Apple jest prawdopodobnie taki, że nie musisz tego wiedzieć. :(Twoja aplikacja zachowuje się pod każdym względem dokładnie tak samo na ekranie 1 lub 2 tabletu iPad oraz na mini-ekranie iPada. Jeśli chodzi o piksele, mają ten sam rozmiar:

I co drugi aspekt urządzenia, taki jak jego możliwości sprzętowe (np. czy ma kamerę?) można sprawdzić w normalny sposób, za pomocą odpowiedniego API do korzystania z tego sprzętu.

+2

Jeśli ekran jest tej samej rozdzielczości, ale fizycznie mniejszy, jak może być ten sam rozmiar pikseli? – rmaddy

+0

Nie powiedziałem, że piksele mają ten sam rozmiar. Powiedziałem, że urządzenia mają ten sam rozmiar, co zmierzone w pikselach. - Chodzi o to, że nie ma znaczenia, jaki to rozmiar, jeśli chodzi o Apple, ponieważ nie ma części interfejsu API systemu iOS, która odnosi się do rozmiaru piksela! W rzeczywistości nie ma części API, która w ogóle odnosi się do pikseli. Programujesz w punktach, są one tłumaczone na piksele na urządzeniu. – matt

+0

Ostatnie zdanie pierwszego akapitu jest tym, co mnie zdezorientowało. Bez wielkiej wagi. Ogólnie zgadzam się. Ważny jest tylko DPI, jeśli aplikacja musi narysować coś do określonej wielkości fizycznej (jak linijka). – rmaddy

Powiązane problemy