Jak zjistit, zda váš kód běží na iPhone nebo iPhone3G?

hlasů
22

Snažím se zjistit, zda můj kód běží na iPhone nebo iPhone3G. Můj první pokus bylo použít třídu UIDevice v UIKit, ale oba iPhone a iPhone3G vrátí stejné odpovědi:

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

Ti, kteří jsou jedinými parametry, které UIDevice umožňuje dotazovat.

Podíval jsem se trochu v rámci nadace, ale dosud nalezen odpovídající volání.

Jsem si jistý, že tam je nějaký kus hardwaru bych dotaz (jako je něco v lokalizačních služeb), ale to vypadá jako hack. Ví někdo prostě způsob určování to?

Položena 27/03/2009 v 01:01
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
21

IPhone běží OS X. Zde je , jak určit svou hardwarovou platformu na ploše počítače Macintosh. Zde je , jak na iPhone. Je to stejné přesný věc.

Stručně řečeno, sysctlbyname("hw.machine", str, sz, 0, 0)bude psát název platformy do str. To se stane, že „iPhone1,1“ nebo „iPhone1,2“ pro iPhone a iPhone 3G, resp.

Odpovězeno 27/03/2009 v 02:19
zdroj uživatelem

hlasů
6

Nejsem vývojář iPhone, ale kontrola základní platformy namísto schopností platformy je téměř vždy špatná volba. V případě, že iPhone získává potřebné funkce, budete stále nepodaří spustit. Je zde také možnost, budete dělat špatné rozhodnutí o dalším iPhone 4.0 (nebo co to je voláno).

Odpovězeno 27/03/2009 v 01:43
zdroj uživatelem

hlasů
0

Můj odhad je, že je funkce na iPhone, který není na iPhon3G, že váš software se zabývá. Můj návrh je dotaz o tom, že konkrétní hardware namísto změny chování softwaru založeného na platformě.

Například. místo kontroly na obsazenosti GPS tím, že žádá, je to iPhone nebo iPhone3G dotaz o dostupnosti GPS a jít od toho. Tímto způsobem váš kód bude pracovat na libovolné platformě (iPhone / iPod touch / iPhone 3G)

Odpovězeno 27/03/2009 v 01:49
zdroj uživatelem

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