Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIImageWriteToSavedPhotosAlbum does not work in iOS 6 iPad 3

I'm using the next function to save photos in my app:

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

It works well on iOS 5.1.1 devices, and iPod/iPhone iOS 6.0 devices.

But strangely photo saving doesn't work on iPad 3 with iOS 6.0 and returns the following error:

Error Domain=ALAssetsLibraryErrorDomain Code=-3310 "Data unavailable" UserInfo=0x1cd6afc0 {NSLocalizedRecoverySuggestion=Launch the Photos application, NSUnderlyingError=0x1cdaa140 "Data unavailable", NSLocalizedDescription=Data unavailable}

Did anybody encounter this problem and what are the ways to deal with it?

like image 466
user1571685 Avatar asked Oct 19 '12 06:10

user1571685


2 Answers

I was able to save to the Camera Roll but when I upgraded to iOS 6 it stops working. It turns out my app needs (but does not have, this is new in iOS 6) permission to access the camera roll. To obtain permission, go to Settings -> Privacy -> Photos. I am able to save to the camera roll with UIImageWriteToSavedPhotosAlbum() again.

like image 190
MobileDev Avatar answered Nov 15 '22 20:11

MobileDev


The image is being written to the Camera Roll album. When used on an iOS device without a camera, this method adds the image to the Saved Photos album rather than to the Camera Roll album. (UIKit Function Reference)

Looks like there are no Camera Roll or Saved Photos albums on your iPad and UIImageWriteToSavedPhotosAlbum() can't find the matching album to save photo.

Launch Photos app as it mentioned in error recovery suggestion: NSLocalizedRecoverySuggestion=Launch the Photos application
and then try to take photo via Camera app.

like image 43
EugeneK Avatar answered Nov 15 '22 21:11

EugeneK