UIImageWriteToSavedPhotosAlbum does not work in iOS 6 iPad 3
Asked Answered
D

2

13

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?

Debutante answered 19/10, 2012 at 6:24 Comment(0)
F
13

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.

Force answered 14/11, 2012 at 19:46 Comment(1)
I can't remember ever disabling this on the app I've been developing for the past two months. And all of a sudden it seems like the photos permission just disabled itself?? I will catch the error and ask permission again when to avoid this from happeningLodestone
F
1

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.

Faubert answered 23/10, 2012 at 13:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.