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

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

检测摄像头是否可以使用

检测使用了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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这一章节中,你将学会如何在应用中添加相机功能,还会学会如何从相册中获取图片和视频,最后,将学会如何给应用增加分享...
    sing_crystal阅读 6,760评论 8 12
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,660评论 25 709
  • 小时候的自己,似乎什么都不怕。偶遇一条大狗,其他小朋友全都害怕跑开了。唯独我傻傻站在原地,疑惑地看着它慢慢靠近。然...
    慧慧_huihui阅读 1,170评论 0 6
  • 姓名:巢环环 公司:宁波大发化纤有限公司 期数:第264期六项精进 组名:努力一组 【日精进打卡第40天】共40天...
    巢环环阅读 845评论 0 0
  • 我一定是个怪胎。 回程的路上,天气好的出奇,只是客车狭小的空间很是不适合我这种大块头,闷,杂,躁,似是把二十多年来...
    甪直阅读 2,607评论 0 0