如何判斷應用程序是否在iPhone 4或iPhone 3GS或iPad上運行?確定適用於iPhone的硬件
我想確定我正在使用哪個硬件,然後提供其他功能,如果它是iPhone 4(如使用視頻燈或陀螺儀傳感器)。
任何幫助將不勝感激。
感謝
PS:我期待以編程方式確定這一點,並不能確定是否基於物理外觀。
如何判斷應用程序是否在iPhone 4或iPhone 3GS或iPad上運行?確定適用於iPhone的硬件
我想確定我正在使用哪個硬件,然後提供其他功能,如果它是iPhone 4(如使用視頻燈或陀螺儀傳感器)。
任何幫助將不勝感激。
感謝
PS:我期待以編程方式確定這一點,並不能確定是否基於物理外觀。
RE:示例代碼來檢測一個閃光可用
for (AVCaptureDevice *cameraDevice in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
if ([cameraDevice hasFlash]) {
NSLog(@" Yay! A flash!"):
}
}
但嚴重的是,夥計,弗拉基米爾給你的類名和方法名。如果您打開了文檔,那麼您本可以很快地發現它 - 比等待某人粘貼五行代碼快得多。
而不是確定設備模型您應該找到並使用API檢查是否需要功能可用。例如用於flash的AVCaptureDevice的hasFlash
屬性和用於陀螺儀的CMMotionManager的gyroAvailable
屬性。
如果您的應用程序可以在iOS4之前的iOS上運行,您還應該執行額外的檢查,如果上面列出的屬性和類在運行時可用。
你有一些示例代碼來顯示它是否有Flash? – 2010-08-16 14:45:19
對不起,現在不能做 - 將嘗試使它後來你仍然需要它 – Vladimir 2010-08-16 15:31:20
Cocoa Dev:請注意,弗拉基米爾指的是相機上的** flash **功能,而不是** Flash Player ** ,這在iOS上不存在。 – 2010-08-17 08:36:02
這看起來是這個SO問題的重複:http://stackoverflow.com/questions/2884391/api-to-determine-whether-running-on-iphone-or-ipad – 2010-08-16 13:45:35
Idion宏沒有告訴我它是iPhone 4還是iPhone 3GS 它告訴我我是否在iPad或iPhone或iPod Touch上 – 2010-08-16 14:54:03
在您的項目文件的構建設置(右鍵單擊項目並選擇獲取信息)下,查看目標設備系列。我相信你需要將它設置爲iPhone/iPad(通用二進制)才能使其正常工作。 – 2010-08-16 17:05:36