iOS检测设备相机是否可以使用

作者: Pusswzy | 来源:发表于2016-08-10 14:37 被阅读253次

最近在做扫描二维码功能,再进入扫描页面的时候最好判断当前设备是否可用,这样用户体验会更好,也防止因无法开启设备相机导致的崩溃。

检测摄像头是否可以使用

检测使用了UIImagePickerController这个类,这个类的功能很强大。先贴官方代码:

+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;                 // returns YES if source is available (i.e. camera present)

这是一个类方法,直接用UIImagePickerController调用就可以。参数sourceType是一个枚举:

typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType) {
    UIImagePickerControllerSourceTypePhotoLibrary, //图库
    UIImagePickerControllerSourceTypeCamera, //相机
    UIImagePickerControllerSourceTypeSavedPhotosAlbum //相册
} __TVOS_PROHIBITED;

因此我们调用以下方法,根据返回的Bool值就可以判断相机是否可以使用(Xcode的虚拟器的相机功能是不可用的)

- (BOOL)isCameraAvailable{
    return [UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera];
}

检测闪光灯是否可以使用

- (BOOL)isRearCameraAvailable {
    return [UIImagePickerController isFlashAvailableForCameraDevice:UIImagePickerControllerCameraDeviceRear]; //后置摄像头的闪光灯
//    return [UIImagePickerController isFlashAvailableForCameraDevice:UIImagePickerControllerCameraDeviceFront]; 前置摄像头的闪光灯
}

1234

相关文章

网友评论

    本文标题:iOS检测设备相机是否可以使用

    本文链接:https://www.haomeiwen.com/subject/bohjsttx.html