UIImageWriteToSavedPhotosAlbum не работает в iOS 6 iPad 3

Я использую следующую функцию для сохранения фотографий в своем приложении:

 UIImageWriteToSavedPhotosAlbum(pngImage, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

Он хорошо работает на устройствах iOS 5.1.1 и устройствах iPod/iPhone iOS 6.0.

Но странное сохранение фотографий не работает на iPad 3 с iOS 6.0 и возвращает следующую ошибку:

Ошибка домена = ALAssetsLibraryErrorDomain Code = -3310 "Данные недоступны" UserInfo = 0x1cd6afc0 {NSLocalizedRecoverySuggestion = Запустить приложение "Фотографии", NSUnderlyingError = 0x1cdaa140 "Данные недоступны", NSLocalizedDescription = Данные недоступны}

Кто-нибудь сталкивался с этой проблемой и каковы способы ее устранения?

Ответ 1

Мне удалось сохранить в Camera Roll, но когда я обновился до iOS 6, он перестает работать. Оказывается, мое приложение нуждается (но не имеет, это новое в iOS 6) разрешение на доступ к рулону камеры. Чтобы получить разрешение, откройте "Настройки" → "Конфиденциальность" → "Фотографии". Я могу сохранить в рулоне камеры с помощью   UIImageWriteToSavedPhotosAlbum() еще раз.

Ответ 2

Изображение записывается в альбом Camera Roll. При использовании на устройстве iOS без камеры этот способ добавляет изображение в альбом сохраненных фотографий, а не в альбом Camera Roll. (Справочник по функциям UIKit)

Похоже, что на вашем iPad нет альбомов Camera Roll или Saved Photos, а UIImageWriteToSavedPhotosAlbum() не может найти соответствующий альбом для сохранения фотографии.

Запустить приложение "Фотографии", как упоминалось в предложении по исправлению ошибок: NSLocalizedRecoverySuggestion=Launch the Photos application
а затем попытайтесь сделать снимок через приложение камеры.