我想找到一種方法來檢測使用的設備是否是iPod touch,有沒有?客觀的C方式來檢測是否使用的設備是一個iPod
我使用iPad的這種方法...
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
....
}
我想找到一種方法來檢測使用的設備是否是iPod touch,有沒有?客觀的C方式來檢測是否使用的設備是一個iPod
我使用iPad的這種方法...
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
....
}
你爲什麼想知道?如果是因爲你想知道是否有相機或是否可以撥打電話等,那麼你最好用功能檢測功能來做這件事(如果蘋果在某個時候用手機制作iPod),比如Cliff's回答。
如果是其他一些原因,你真的只是想知道,如果它是一個iPod或iPhone,而不論實際設備的功能,這裏是你如何做到這一點:
if ([[UIDevice currentDevice].model isEqualToString:@"iPod touch"])
{
...
}
太棒了!謝謝! – 2013-11-14 21:47:27
粗略的黑客工具,我已經在過去開發是查詢設備是否可以撥打電話#。我忘了語法的副手,但應該有類似
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:+11111"]]) {
//we have an iphone
} else if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
//We have an iPad....
} else {
//We probably have an iPod....
}
說實話,我更喜歡這種方法相對於絕對的檢測,因爲它側重於設備而不是模型的能力。最好根據設備的能力而不是模型來調整邏輯,因爲你永遠不知道在將來的iOS設備版本中會引入什麼功能。例如,如果設備類型== iPad在一年前已經具有實際意義,那麼隱藏視頻控件,但是在iPad2在幾個月內推出時會限制該功能。如果您假設僅僅是因爲該設備是iPod,那麼您應該或不應該執行功能X,那麼如果添加了功能,您將限制產品進一步發佈的功能。
的重複[確定裝置( iPhone,iPod Touch)與iPhone SDK](http://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdk) – 2012-02-03 16:45:17