UIImageWriteToSavedPhotosAlbum在iOS 6 iPad 3上无法工作

13

我在我的应用程序中使用下面的函数来保存照片:

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

该代码在 iOS 5.1.1 设备和 iPod/iPhone iOS 6.0 设备上运行良好。

但是,在搭载 iOS 6.0 的 iPad 3 上,保存照片的功能却无法正常工作,并返回以下错误:

Error Domain=ALAssetsLibraryErrorDomain Code=-3310 "Data unavailable" UserInfo=0x1cd6afc0 {NSLocalizedRecoverySuggestion=启动照片应用程序, NSUnderlyingError=0x1cdaa140 "Data unavailable", NSLocalizedDescription=数据不可用}

是否有人遇到过这个问题,以及解决它的方法是什么?

2个回答

13

我之前能够保存到“照片”中,但当我升级到iOS 6后,这个功能就无法使用了。原来我的应用程序需要(但是没有,在iOS 6中是新的需求)获得访问“照片”权限。要获取权限,请进入“设置”->“隐私”->“照片”。使用UIImageWriteToSavedPhotosAlbum()函数,我再次可以将图片保存到“照片”中。


我不记得在过去两个月开发的应用程序中禁用过这个功能。突然间,好像照片权限自己就被禁用了?我会捕获错误并再次请求权限,以避免这种情况再次发生。 - Jesus Rodriguez

1

正在将图像写入“相机胶卷”相册。在没有相机的iOS设备上使用时,此方法会将图像添加到“已保存照片”相册而不是“相机胶卷”相册。(UIKit函数参考

看起来您的iPad上没有“相机胶卷”或“已保存照片”相册,UIImageWriteToSavedPhotosAlbum()无法找到匹配的相册以保存照片。

按照错误恢复建议中提到的启动“照片”应用程序:NSLocalizedRecoverySuggestion=启动照片应用程序
然后尝试通过相机应用程序拍摄照片。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接