在针对iOS 6+时是否有必要检查相机是否存在?

时间:2013-12-08 00:01:23

标签: ios ios6 camera avfoundation

我正在制作一个在多个区域使用相机的应用程序,而且我发现所有支持iOS 6+的设备都配有相机。这更像是一个编程实践问题,而不是一个实际的实现问题。

Apple从未明确建议您拥有来检查相机,但许多开发人员都这样做。

不检查是否安全? NOT 检查相机的含义是什么?

是否存在性能优势/劣势?

谢谢,

Virindh Borra

1 个答案:

答案 0 :(得分:4)

来自UIImagePickerController isSourceTypeAvailable:方法的文档:

  

由于媒体源可能不存在或可能不可用,因此设备可能并不总是支持所有源类型。例如,如果您尝试从用户的库中选择图像并且库为空,则此方法返回NO。同样,如果相机已在使用中,此方法将返回NO。

     

在尝试使用UIImagePickerController对象选择图像之前,必须调用此方法以确保所需的源类型可用。

所以,Apple确实告诉你检查。此外,它有多难:

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
    // show camera
} else {
    // don't show camera
}