Для тестирования я пытался воссоздать всплывающее окно «Запрос доступа».PHPhotoLibrary requestAuthorization, не запрашивая
Update:
Под прошивкой 11, после удаления приложения, система всплывающее окно будет отображаться снова.
(предыдущий вопрос)
Первый раз запустить приложение (и только время), система всплывающих показал, запрашивающий доступ. После этого , даже не удалив приложение и перезагрузив устройство, снова вызовет это всплывающее окно.
Другими словами, устройство «запоминает» запрос пользователя, и нет возможности его сбросить.
Вот код:
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
switch (status) {
case PHAuthorizationStatusAuthorized:
NSLog(@"PHAuthorizationStatusAuthorized");
break;
case PHAuthorizationStatusDenied:
NSLog(@"PHAuthorizationStatusDenied");
break;
case PHAuthorizationStatusNotDetermined:
NSLog(@"PHAuthorizationStatusNotDetermined");
break;
case PHAuthorizationStatusRestricted:
NSLog(@"PHAuthorizationStatusRestricted");
break;
}
}];
Когда доступ выключен в настройках, он держит печать "PHAuthorizationStatusDenied". Но не появляется всплывающее окно. Возвращается немедленно.
Было предложено добавить «Дисплейное имя пучка» на plist. Пробовал это безрезультатно, с пустым значением, $ (PRODUCT_NAME) и разными строками.
Очищенный проект, удаленный DrivedData (и удалять приложение из симулятора каждый раз). Не повезло.
Подробнее:
компании Apple образец кода «SamplePhotosApp», происходит сбой, когда вы отключите доступ фото в настройках.
Пожалуйста, взгляните на мой ответ здесь: http://stackoverflow.com/questions/26595343/determine-if-the-access-to-photo-library-is-set-or-not-ios-8/38395022 # 38395022 –
Из связанного ответа путь вокруг него заключается в изменении идентификатора связки. Кажется, проблема все еще открыта; то есть нет возможности «сбросить» идентификатор пакета приложения после его написания, за исключением полного сброса устройства. Конечно, на симуляторе это сделает удаление устройства. – bauerMusic