iOS中实现调用系统相机及相册功能

在iOS中要拍照和录制视频最简单的方式就是调用UIImagePickerController,UIImagePickerController继承与UINavigationController,需要使用代理方法时需要同时遵守这两个协议,以前可能比较多的是使用UIImagePickerController来选择相册图片或者拍摄图片,其实它的功能还能用来拍摄视频。

使用UIImagePickerController拍照或者拍视频主要以下几个步骤:

创建一个全局的UIImagePickerController对象。

指定UIImagePickerController的来源sourceType,是来自UIImagePickerControllerSourceTypeCamera相机,还是来自UIImagePickerControllerSourceTypePhotoLibrary相册。

然后是设置mediaTypes媒体类型,这是录制视频必须设置的选项,默认情况下是kUTTypeImage(注意:mediaTypes的设置是在MobileCoreServices框架下),同还可以设置一些其他视频相关的属性,例如:videoQuality视频的质量、videoMaximumDuration视频的最大录制时长(默认为10s),cameraDevice摄像头的方向(默认为后置相机)。

指定相机的捕获模式cameraCaptureMode,设置mediaTypes后在设置捕获模式,注意的是捕获模式需要在相机来源sourceType为相机时设置,否则会出现crash。

适时的展示UIImagePickerController,然后在相应的代理方法保存和获取图片或视频。


第一步:iOS10之后需要在info中添加权限

1、Privacy - Camera Usage Description  

App需要您的同意,才能访问相机  

2、Privacy - Photo Library Additions Usage Description 

App需要您的同意,才能访问相册   

第二步:在需要调用相机和相册的controller添加头文件和代理


第三步:判断是否有相机和相机使用权限


第四步:调用相机和相册和回调中处理获得的Image


最后,iOS10之后调起手机设置的方式和iOS10之前的不一样,需要先判断手机系统是否大于iOS10,这里直接上代码吧

判断手机系统是否大于ios10

#define IOS_VERSION_10 (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_x_Max)?(YES):(NO)



简单的实现了APP中iOS的相册和相机的调用。

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

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,546评论 0 12
  • 隐私政策:以下为摘抄百度信息 本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,...
    taiji1985阅读 211评论 0 0
  • 关于赤坎老街机器人教育 Facebook创始人扎克伯格6年级开始学习编程,打败人类围棋顶尖高手李世石的AlphaG...
    岳坛阅读 218评论 1 0
  • 离婚后妻子和孩子要替丈夫还赌债吗? 婚姻存续期间欠下的债务一般被认定为夫妻共同债务,把所有债务不分缘由的全都划分...
    无忧法宝阅读 173评论 0 0
  • 现在是3月2日07:45分,不可否认,我想你了,林大叔。 从认识你到喜欢上你,真是一场美丽的意外。掰着...
    我想要很多好运阅读 298评论 0 0