Появляется ли 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, хотя у него очень похожий интерфейс (по понятным причинам).

Другие вопросы по тегам