Jak sprawdzić, czy Twój kod działa na iPhone lub iPhone3G?

głosy
22

Próbuję ustalić, czy mój kod działa na iPhone lub iPhone3G. Moja pierwsza próba była użyć klasy UIDevice w UIKit, ale zarówno iPhone i iPhone3G zwraca te same odpowiedzi:

NSLog([[UIDevice currentDevice] name]); // Name of the phone as named by user
NSLog([[UIDevice currentDevice] uniqueIdentifier]); // A GUID like string
NSLog([[UIDevice currentDevice] systemName]); // iPhone OS 
NSLog([[UIDevice currentDevice] systemVersion]); // 2.2.1
NSLog([[UIDevice currentDevice] model]); // iPhone on both devices
NSLog([[UIDevice currentDevice] localizedModel]); // iPhone on both devices

Są to jedyne parametry, które UIDevice pozwala na zapytanie.

Rozejrzałem się trochę w ramowych Fundacji, ale jeszcze nie znaleziono odpowiednich połączeń.

Jestem pewien, że istnieje jakiś kawałek sprzętu mogę zapytań (takich jak coś w usługach lokalizacyjnych), ale wydaje się to hack. Czy ktoś wie po prostu sposób określania tego?

Utwórz 27/03/2009 o 01:01
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
21

IPhone działa OS X. Oto jak określić swoją platformę sprzętową na pulpicie komputera Macintosh. Oto jak na iPhone. To samo dokładne.

W skrócie, sysctlbyname("hw.machine", str, sz, 0, 0)będzie wpisać nazwę do platformy str. Dzieje się tak, aby być „iPhone1,1” lub „iPhone1,2” dla iPhone i iPhone 3G odpowiednio.

Odpowiedział 27/03/2009 o 02:19
źródło użytkownik

głosy
6

Nie jestem deweloperem iPhone ale sprawdzenie podstawowej platformy zamiast możliwości platformy jest prawie zawsze zły wybór. Jeśli iPhone zyskuje funkcjonalność, czego potrzeba, to nadal nie działają. Jest też szansa, że ​​zrobić złą decyzję na następnej iPhone 4.0 (lub cokolwiek to nazywa).

Odpowiedział 27/03/2009 o 01:43
źródło użytkownik

głosy
0

Domyślam się, że nie ma funkcjonalność na iPhone, która nie jest na iPhon3G że oprogramowanie jest zainteresowanej. Moja propozycja jest taka, aby zapytać o tego konkretnego sprzętu zamiast zmieniać zachowanie oprogramowanie oparte na platformie.

Na przykład. zamiast sprawdzania za dostępność produktu GPS pytając czy jest to zapytanie iPhone lub iPhone3G o dostępności GPS i go stamtąd. W ten sposób Twój kod będzie działać na każdej platformie (iPhone / iPod Touch / iPhone 3G)

Odpowiedział 27/03/2009 o 01:49
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more