如何判断应用程序是在iPhone 4,iPhone 3GS还是iPad上运行?
我想确定我使用的是哪种硬件,然后提供附加功能,如果它是iPhone 4(例如使用视频灯或陀螺仪传感器)。
非常感谢任何帮助。
由于
PS:我希望以编程方式确定这一点,而不是根据外观确定。
答案 0 :(得分:6)
而不是确定设备模型,您应该找到并使用API检查,如果需要,功能可用。例如,用于闪存的AVCaptureDevice的hasFlash
属性和用于陀螺仪的CMMotionManager的gyroAvailable
属性。
如果你的应用程序可以在iOS4之前的iOS上运行,你还应该执行额外的检查,如果上面列出的属性和类在运行时可用。
答案 1 :(得分:5)
RE:用于检测闪存是否可用的示例代码
for (AVCaptureDevice *cameraDevice in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
if ([cameraDevice hasFlash]) {
NSLog(@" Yay! A flash!"):
}
}
但严肃的是,老兄弗拉基米尔给了你班级名称和方法名称。如果你已经打开了文档,那么你已经把它弄得一闪而光 - 肯定比等待有人粘贴你的五行代码更快。