ALAssetsLibrary ALAssetsLibraryDataUnavailableError

Posted

技术标签:

【中文标题】ALAssetsLibrary ALAssetsLibraryDataUnavailableError【英文标题】: 【发布时间】:2011-11-28 21:35:05 【问题描述】:

我正在努力确保涵盖我关于 ALAssetsLibrary 因任何原因失败的所有基础。查看调用时可能出现的错误:

- (void)enumerateGroupsWithTypes:usingBlock:failureBlock;

我注意到 ALAssetsLibraryDataUnavailableError,但没有太多关于可能导致此问题的信息。我想相应地显示一个错误屏幕。

任何见解将不胜感激。谢谢!

【问题讨论】:

【参考方案1】:

我在 3 种情况下遇到了 ALAssetsLibraryDataUnavailableError:

    使用模拟器并在 iPhone 和 iPad 模拟器之间切换时。 在设备上,当照片库损坏或处于不一致状态时。 在没有同步到 iTunes 的情况下执行 ios 升级后。

我建议向用户显示一条消息,您遇到此错误,建议: 1.打开照片应用程序...这通常会修复不一致的库。 2. 如果这无济于事,请重新启动设备并与 iTunes 同步一次。

干杯,

亨德里克

【讨论】:

我目前在我的 iPhone 5 iOS 6.0.1 上得到这个...情况尚不清楚。 NSError 建议也打开照片应用程序。奇怪的。它没有帮助。哦,顺便说一句,这一切都来自尝试将 UIImage 保存到照片卷时的错误。【参考方案2】:

好的,我发现了另一个出现此错误的特殊情况:

尝试使用 UIImageWriteToSavedPhotosAlbum 将 UIImage 保存到相册/相册。 iOS 要求用户授予访问照片库的权限 - 用户拒绝 (!)

在 completionSelector 中,提供的 NSError 然后包含 ALAssetsLibrary ALAssetsLibraryDataUnavailableError。

您会认为错误可能是其他错误,例如 ALAssetsLibraryAccessUserDeniedError 或 ALAssetsLibraryAccessGloballyDeniedError。但事实并非如此。这只是 ALAssetsLibraryDataUnavailableError。

这是在 iPhone 5、iOS 6.0.1 上测试的。也许这不是一个错误,或者它是,他们有一天会修复它。

无论如何,“修复”是让用户进入设置→隐私→照片→在此处打开您的应用程序。本地化修复建议消息是错误的 - 它建议打开照片应用程序。没有关于给出的错误的其他信息。无论如何,用户可能应该知道他/她按下了“拒绝”按钮——但他们可能是错误地这样做了,后来他们不知道发生了什么。

【讨论】:

以上是关于ALAssetsLibrary ALAssetsLibraryDataUnavailableError的主要内容,如果未能解决你的问题,请参考以下文章

保存图像元数据 PHPhotoLibrary 与 ALAssetsLibrary

不推荐使用 ALAssetsLibrary 方法

ALAssetsLibrary.enumerateGroupsWithTypes Swift 中的第一个参数

无法链接 ALAssetsLibrary

从 ALAssetsLibrary 获取所有照片

ALAssetsLibrary 删除 ALAssetsGroup / ALAsset