我是iOS開發新手。我如何知道我的應用程序目前安裝的設備。我想要在iOS模擬器上檢查當前設備是iPad還是iPhone的代碼。決定設備類型的應用程序正在運行
回答
的最好的方式找到該設備是iPad或iPhone是
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// The device is an iPad running iPhone 3.2 or later.
}
else
{
// The device is an iPhone or iPod touch.
}
如果你想在什麼樣的設備的更多詳細信息,請參閱https://gist.github.com/Jaybles/1323251
不工作我想知道,該設備是iPhone4 ipnoe5或Ipad .. – user3418619
@ user3418619然後清楚你說的朋友,看看我的編輯。 – satheeshwaran
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// The device is an iPad
}
else
{
// The device is an iPhone
if(([[UIScreen mainScreen] bounds].size.height>520))
{
// The device is an iPhone5
}
else
{
// The device is an iPhone4
}
}
除了檢測您是否在iPad或iPhone/iPod Touch上運行,我不會將iPhone 5視爲特例,而是編寫代碼以使用任何屏幕尺寸運行。 – gnasher729
user3418619評論satheeshwaran答案,「我想知道該設備是iphone4 ipnoe5或ipad ..」 –
添加該代碼,它可以幫助:
#define isiPhone5 ([[UIScreen mainScreen] bounds].size.height == 568)?TRUE:FALSE
#define isiPhone (UI_USER_INTERFACE_IDIOM() == 0)?TRUE:FALSE
而不是用作
if(isiPhone)
{
if (isiPhone5)
{
//Code for iphone 5
}
else
{
//iphone 3.5 inch screen
}
}
else
{
//[ipad]
}
快樂編碼
使用此
+ (NSString *)yesButWhichDeviceIsIt
{
BOOL hasRetina = NO;
if ([UIScreen instancesRespondToSelector:@selector(scale)]) {
CGFloat scale = [[UIScreen mainScreen] scale];
if (scale > 1.0) {
hasRetina = YES;
}
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
if (hasRetina) {
return @"iPad retina";
} else {
return @"iPad";
}
}
else {
if (hasRetina) {
if ([[UIScreen mainScreen] bounds].size.height == 568){
return @"iPhone5";
}
else
{
return @"iPhone4s";
}
} else {
return @"iPhone";
}
}
}
這裏返回類型爲String,這將給你的設備類型的
你忘了在你的代碼中處理iPhone 4。 iPhone 5和4S是不夠的。 – klcjr89
- 1. 確定正在運行的應用程序的類型(.NET)
- 2. 從USB設備運行應用程序
- 3. 在iPad上運行的iPhone應用程序中檢測iOS設備類型
- 4. 鎖定Android設備只能運行一個應用程序
- 5. iOS設備重新啓動時的應用程序行爲(應用程序正在運行)
- 6. 在實際設備上運行的應用程序的Logcat
- 7. 如何在真正的平板設備上運行我的Android應用程序?
- 8. Android AllJoyn:我如何發現正在運行我的應用程序的設備?
- 9. 我的Android應用程序是否在根設備上運行?
- 10. 如何在xcode 4中的設備上運行應用程序?
- 11. 調試中的應用程序無法在設備上運行
- 12. 無法在我的設備上運行「HelloWorld」monodroid應用程序
- 13. 如何在Android設備上運行我的Android應用程序?
- 14. 在我的設備中運行Xcode應用程序?
- 15. 無法在我的設備上運行OpenCV android應用程序
- 16. 如何在我的設備上運行Android應用程序?
- 17. iOS:在設備上運行不同的應用程序
- 18. 我的應用程序未在其他設備上運行
- 19. 在Windows 8的wp7設備上運行應用程序
- 20. 在設備上運行應用程序的問題
- 21. 麻煩在真實設備上運行的應用程序
- 22. 在開發設備上運行版本的iOS應用程序
- 23. 如何確定運行應用程序的Application Server的類型?
- 24. 在所有可用設備上運行應用程序(Android Studio)
- 25. 在設備上運行應用程序時未調用plotAreaWasSelected
- 26. 應用程序運行在模擬器但不是在設備
- 27. 檢測我的Web應用程序是否正在iPad設備上運行
- 28. 關於正在運行的應用程序Android Studio顯示沒有設備
- 29. 檢測iOS中設備當前正在運行的應用程序。
- 30. 確定哪個應用程序正在使用音頻設備
可能重複[如何檢測iPhone 5(寬屏設備)?] (http://stackoverflow.com/questions/12446990/how-to-detect-iphone-5-widescreen-devices) –