2009-10-09 10 views

Odpowiedz

22

Czy jesteś na iPhone lub iPod touch:

UIDevice *device = [UIDevice currentDevice]; 
NSString *systemName = [device systemName]; 

do wykrywania wersji OS:

UIDevice *device = [UIDevice currentDevice]; 
NSString *systemVersion = [device systemVersion]; 

wykrycie konkretnego modelu, trzeba by przetestować dla niektórych możliwości, które ma tylko ten model, aby wykryć telefon iPhone 3GS, sprawdź, czy w kamerze dostępne jest wideo:

#define SOURCETYPE UIImagePickerControllerSourceTypeCamera 

// does the device have a camera? 
if ([UIImagePickerController isSourceTypeAvailable:SOURCETYPE]) { 
    // if so, does that camera support video? 
    NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:SOURCETYPE]; 
    bool isA3GS = [mediaTypes containsObject:kUTTypeMovie]; 
} 
+0

ta linia pokazuje błąd [mediatypes containsObject: kUTTypeMovie]; error: 'kUTTypeMovie' undeclared –

+5

Każda z poniższych poprawek to naprawi. 1) Dodaj strukturę MobileCoreServices do projektu 2) Dodaj #import do pliku nagłówkowego, w którym odniesiesz się do selektora. Alternatywnie można dodać import do prekompilowanego pliku nagłówkowego (.pch), aby stałe UTCoreTypes były dostępne w całym projekcie. – mmc

+2

z mojego doświadczenia trzeba zrobić zarówno 1 i 2. – erich

9

Z pliku UIDevice.h:

[[UIDevice currentDevice] name]    // e.g. "My iPhone" 
[[UIDevice currentDevice] model]    // e.g. @"iPhone", @"iPod Touch" 
[[UIDevice currentDevice] localizedModel] // localized version of model 
[[UIDevice currentDevice] systemName]  // e.g. @"iPhone OS" 
[[UIDevice currentDevice] systemVersion]  // e.g. @"2.0" 
[[UIDevice currentDevice] uniqueIdentifier] // a string unique to each device based on various hardware info. 
+0

uruchamiam moją aplikację na iPhone 2g ale powrotu nie tylko iPhone iPhone 2G. tutaj kod: NSString * uniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier]; \t NSString * Modal = [[UIDevice currentDevice] localizedModel]; –

+0

możesz użyć [[UIDevice currentDevice] model] –

19

Oto klasa napisany przez Erica Sadun który zapewnia szerokie możliwości dla tego:

http://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m

Wyjazd reszta repo - istnieje jeszcze kilka klas, które okażą się przydatne przy precyzyjnym wyszukiwaniu urządzeń.

+1

Ten jest jeszcze lepszy! Świetnie, aby móc pobrać maksymalny rozmiar pamięci itp. Erica Sadun ma bardzo pomocne klasy. Dzięki za połączenie z tym! –

+0

Dziękuję, to jest super! –

0

Co szukasz to:

UIDevice *device = [UIDevice currentDevice]; 
NSString *model = [device model]; 

ten powróci, czy urządzenie jest iPhone lub iPod touch

Powiązane problemy