获取权限的代码: PHAccessLevel level = PHAccessLevelReadWrite;
// 请求权限,需注意 limited 权限尽在 accessLevel 为 readAndWrite 时生效
[PHPhotoLibrary requestAuthorizationForAccessLevel:level handler:^(PHAuthorizationStatus status) {
switch (status) {
case PHAuthorizationStatusLimited:
{
NSLog(@"---limited---");
}
break;
case PHAuthorizationStatusDenied:
NSLog(@"---denied---");
break;
case PHAuthorizationStatusAuthorized:
NSLog(@"---authorized---");
break;
default:
NSLog(@"---????---");
break;
}
}];
调用唤起相册的方法:
PHPickerConfiguration *configuration = [[PHPickerConfiguration alloc] init];
configuration.filter = [PHPickerFilter imagesFilter]; // 可配置查询用户相册中文件的类型,支持三种
configuration.selectionLimit = 0; // 默认为1,为0时表示可多选。
configuration.preferredAssetRepresentationMode = 2;
PHPickerViewController *picker = [[PHPickerViewController alloc] initWithConfiguration:configuration];
picker.delegate = self;
// picker vc,在选完图片后需要在回调中手动 dismiss
[self presentViewController:picker animated:YES completion:^{
}];
在状态为limited状态的情况下,可以访问整个相册
// 请求权限,需注意 limited 权限尽在 accessLevel 为 readAndWrite 时生效
[PHPhotoLibrary requestAuthorizationForAccessLevel:level handler:^(PHAuthorizationStatus status) {
switch (status) {
case PHAuthorizationStatusLimited:
{
NSLog(@"---limited---");
}
break;
case PHAuthorizationStatusDenied:
NSLog(@"---denied---");
break;
case PHAuthorizationStatusAuthorized:
NSLog(@"---authorized---");
break;
default:
NSLog(@"---????---");
break;
}
}];
调用唤起相册的方法:
PHPickerConfiguration *configuration = [[PHPickerConfiguration alloc] init];
configuration.filter = [PHPickerFilter imagesFilter]; // 可配置查询用户相册中文件的类型,支持三种
configuration.selectionLimit = 0; // 默认为1,为0时表示可多选。
configuration.preferredAssetRepresentationMode = 2;
PHPickerViewController *picker = [[PHPickerViewController alloc] initWithConfiguration:configuration];
picker.delegate = self;
// picker vc,在选完图片后需要在回调中手动 dismiss
[self presentViewController:picker animated:YES completion:^{
}];
在状态为limited状态的情况下,可以访问整个相册