ALAssetsLibrary ALAssetsLibraryDataUnavailableError - PullRequest
3 голосов
/ 29 ноября 2011

Я стараюсь охватить все мои базы в отношении сбоя ALAssetsLibrary по любой причине. При просмотре возможных ошибок, которые могут возникнуть при звонке:

- (void)enumerateGroupsWithTypes:usingBlock:failureBlock;

Я заметил, что ALAssetsLibraryDataUnavailableError, но не так много информации о том, что может вызвать это. Я хочу показать экран ошибки соответственно.

Любое понимание будет оценено. Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Я столкнулся с ALAssetsLibraryDataUnavailableError в 3 случаях:

  1. При использовании симулятора и переключении между симулятором iPhone и iPad.
  2. На устройстве, когда библиотека фотографий повреждена или находится в несовместимом состоянии.
  3. После выполнения обновления iOS без синхронизации с iTunes.

Я бы порекомендовал отобразить сообщение пользователю, вы столкнулись с этой ошибкой, рекомендовав: 1. Чтобы открыть приложение для фотографий ... обычно это исправляет несогласованную библиотеку. 2. Если это не поможет перезагрузить устройство и выполнить синхронизацию с iTunes один раз.

Приветствия

Хендрик

0 голосов
/ 13 ноября 2012

Хорошо, я обнаружил еще одно специфическое обстоятельство, при котором появляется эта ошибка:

  • Попытка сохранить UIImage в фото / фотоальбом с помощью UIImageWriteToSavedPhotosAlbum.
  • iOS запрашивает у пользователя разрешение на доступ к библиотеке фотографий - пользователь отказывает (!)

В завершенииSelector предоставленный NSError затем содержит ALAssetsLibrary ALAssetsLibraryDataUnavailableError.

Вы могли бы подумать, что ошибка будет чем-то вроде ALAssetsLibraryAccessUserDeniedError или ALAssetsLibraryAccessGloballyDeniedError. Но это не так. Это просто ALAssetsLibraryDataUnavailableError.

Это было протестировано на iPhone 5, iOS 6.0.1. Может быть, это не ошибка, или они когда-нибудь это исправят.

В любом случае, «исправить» - это заставить пользователя перейти в «Настройки» → «Конфиденциальность» → «Фотографии» → включить приложение здесь. Локализованное сообщение с предложением исправления является НЕПРАВИЛЬНЫМ - оно предлагает открыть приложение Photos. Никакой другой информации об ошибке не дано. В любом случае, пользователь, вероятно, должен знать, что он / она нажал кнопку «Запретить» - тем не менее, они могли сделать это по ошибке, и позже они не знали бы, что происходит.

...