iOS 获取本地相册图片视频(一)

本文代码内容适合跳转本地相册界面, 例如: 单图操作, 单视频操作.

多个图操作, 多个视频操作参考
iOS 获取本地相册图片视频(二)


代码思路

1.设置访问相机相册权限

2.引入框架

3.跳转相册界面

4.根据回调获取用户选择的文件(图片或视频)



详细内容

1.设置访问相机相册权限

.plist 的添加方式:

添加下面的一项,提示文字自定义
Privacy - Photo Library Additions Usage Description

source code的添加方式:

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


2.引入框架

#import 
#import 
#import 
#import 

--

3.跳转相册界面

设置协议

初始化相册界面并添加相册界面
// 初始化相册界面
UIImagePickerController *pickerController = [[UIImagePickerController alloc]init];
// 设置相册类型
pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// 手机选择一段视频或一张图片
// kUTTypeMovie: 视频
// kUTTypeImage: 图片
pickerController.mediaTypes =@[(NSString*)kUTTypeMovie, (NSString*)kUTTypeImage];
// 签协议
pickerController.delegate = self;
// 添加相册界面
[self.view addSubview:pickerController.view];

--

4.根据回调获取用户选择的文件(图片或视频)

#pragma mark - UIImagePickerControllerDelegate
// 相册界面: 用户未选择文件, 按下取消按钮走这个回调
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    // 移除相册界面
    [picker.view removeFromSuperview];
}
// 相册界面: 用户选择了一个文件, 获取到用户选择的文件
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    // 移除相册界面
    [picker.view removeFromSuperview];
    // 文件显示的图片
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
     // 获取文件类型:
    NSString *mediaType = info[UIImagePickerControllerMediaType]; 
    if ([mediaType isEqualToString:(NSString*)kUTTypeImage]) {
         // 用户选的文件为图片类型(kUTTypeImage)
    }else if([mediaType isEqualToString:(NSString*)kUTTypeMovie]){
        // 用户选的文件为视频类型(kUTTypeMovie)
        // 获取视频对应的URL
        NSURL *url = info[UIImagePickerControllerMediaURL];
        // 上传视频时用到data
        NSData *data = [NSData dataWithContentsOfURL:url];
    }
}


注意:个人理解,若有错误请指正,谢谢!!!

你可能感兴趣的:(iOS 获取本地相册图片视频(一))