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
а затем попытайтесь сделать снимок через приложение камеры.