Hogyan állapítható meg, ha a kód fut egy iPhone vagy egy iPhone3G?

szavazat
22

Próbálom meghatározni, ha a kód fut az iPhone vagy egy iPhone3G. Az első próbálkozás volt, hogy a UIDevice osztály UIKit, de mind iPhone és iPhone3G vissza ugyanazon válaszok:

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

Ezek az egyedüli paraméter, amely lehetővé teszi, UIDevice kérdezni.

Néztem egy kicsit Alapítvány keret, de még nem találtad meg a megfelelő hívásokat.

Biztos vagyok benne, van némi hardver tudtam lekérdezni (például valami helymeghatározó szolgáltatások), de úgy tűnik, mint egy hack. Tudja valaki, hogy egy egyszerű módja a meghatározó ez?

A kérdést 27/03/2009 01:01
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
21

Az iPhone fut OS X Íme , hogyan kell meghatározni a hardver platform egy Macintosh asztalon. Itt van , hogyan egy iPhone. Ez pontosan ugyanolyan dolog.

Röviden, sysctlbyname("hw.machine", str, sz, 0, 0)majd írjuk be a platform nevét str. Ez történetesen „iPhone1,1” vagy „iPhone1,2” az iPhone és az iPhone 3G volt.

Válaszolt 27/03/2009 02:19
a forrás felhasználó

szavazat
6

Nem vagyok egy iPhone fejlesztő, de ellenőrzése alapjául szolgáló platform helyett platformfunkciókat szinte mindig rossz választás. Ha az iPhone elnyeri a szükséges funkciót, akkor még mindig nem fut. Van még egy esélyt, akkor rossz döntést a következő iPhone 4.0 (vagy akármi is nevezik).

Válaszolt 27/03/2009 01:43
a forrás felhasználó

szavazat
0

Az a gyanúm, hogy van funkciót az iPhone, ami nem a iPhon3G, hogy a szoftver vonatkozik. A véleményem az, hogy a lekérdezés meg az adott hardver megváltoztatása helyett a szoftver viselkedése alapján a platform.

Például. ellenőrzés helyett az elérhetőségével GPS kérve ez egy iPhone vagy iPhone3G keresett juthatnak a GPS, és menjen onnan. Így a kód működni fog minden platformon (iPhone / iPod touch / iPhone 3G)

Válaszolt 27/03/2009 01:49
a forrás felhasználó

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