Появляется ли PHPickerViewController автоматически после выбора «выбрать фотографии»?
Я пытаюсь поиграть с iOS14 PHPhotoLibrary и попытаться понять поток после того, как пользователь выбрал «выбрать фотографии», когда система запрашивает разрешения для фотографий.
Мой код:
- (void)buttonTapped:(id)sender {
if (@available(iOS 14, *)) {
[PHPhotoLibrary requestAuthorizationForAccessLevel:PHAccessLevelReadWrite handler:^(PHAuthorizationStatus status) {
dispatch_async(dispatch_get_main_queue(), ^{
if (status == PHAuthorizationStatusLimited) {
// The weird thing here: No matter if I comment this line or not, the PHPickerViewController will always appear after I choose "select photos"
//[self presentPhotoPickerView];
}
});
}];
} else {
// XXX
}
}
- (void)presentPhotoPickerView {
if (@available(iOS 14, *)) {
PHPickerConfiguration *config = [[PHPickerConfiguration alloc] init];
config.selectionLimit = 0;
config.filter = PHPickerFilter.imagesFilter;
PHPickerViewController *vc = [[PHPickerViewController alloc] initWithConfiguration:config];
vc.delegate = self;
[self presentViewController:vc animated:YES completion:nil];
} else {
// Fallback on earlier versions
}
}
Итак, мой вопрос: отображается ли PHPickerViewController автоматически белым, запрашивая авторизацию? Если ответ положительный, могу ли я настроить PHPickerViewController для отображения фотографий только после того, как пользователь предоставит «ограниченный» доступ к библиотеке фотографий?
1 ответ
PHPickerViewController всегда будет отображаться после того, как я выберу «выбрать фотографии»
Нет, когда вы выбираете Select Photos` вы показали системы сборщика. Здесь пользователю предоставляется возможность решить, к каким фотографиям разрешить доступ вашему приложению . Это не ваш PHPickerViewController, хотя у него очень похожий интерфейс (по понятным причинам).