1

如何判断应用程序是在 iPhone 4、iPhone 3GS 还是 iPad 上运行?

我想确定我使用的是哪种硬件,然后如果它是 iPhone 4 则提供附加功能(例如使用视频灯或陀螺传感器)。

任何帮助将不胜感激。

谢谢

PS:我希望以编程方式确定这一点,而不是根据外观确定。

4

2 回答 2

6

而不是确定设备型号,您应该查找并使用 API 检查所需的功能是否可用。例如hasFlash用于闪存的 AVCaptureDevicegyroAvailable属性和用于陀螺仪的 CMMotionManager 属性。

如果您的应用程序可以在 iOS4 之前的 iOS 上运行,您还应该额外检查上述属性和类是否在运行时可用。

于 2010-08-16T13:47:29.773 回答
5

RE:检测闪存是否可用的示例代码

   for (AVCaptureDevice *cameraDevice in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) {
        if ([cameraDevice hasFlash]) {
            NSLog(@" Yay! A flash!"):
        }
    }

但说真的,老兄,弗拉基米尔给了你类名和方法名。如果您打开了文档,您很快就会弄清楚 - 肯定比等待别人粘贴您的五行代码要快。

于 2010-08-16T15:44:54.550 回答