ALAssetLibrary ,在某些设备上只显示所有照片中的部分照片

ALAssetLibrary , it only shows partial number of photos in All Photos on some devices

我曾经使用过 ALAsset,它适用于 iOS7~iOS9 大多数用户(大约 100K)。 但一些用户抱怨它在 i6 设备上只显示部分照片,ios8/ios9。 (也许 1% 有这个问题,我不确定。)

我有 i6 ios9 设备,但我的设备无法显示同样的问题。用户表示 App 只显示过去两个月的照片。它是如何发生的?

对于他们的设备,他们没有相机胶卷相册,但 mime 有。我不确定它是否会导致问题。如何解决这个问题呢 ?我是否应该从 iOS8.

更改为 PHAsset Photos

我找到了根本原因,ALAssetLibrary 无法读取 iOS8/iOS9 的一些照片。这是因为启用了 iCloud 并选择了存储优化。

https://support.apple.com/en-us/HT204264 在您的 iPhone、iPad 或 iPod touch 上,点按设置 > iCloud > 照片或设置 > 照片和相机,然后点按 select 存储设置。打开优化 [设备] 存储。

所以,ALAssetLibrary 无法读取这些上传到 iCloud 的照片。供用户解决。 1.他可以使用照片应用程序编辑照片旋转和旋转后保存。并且 ALAssetLibrary 可以再次读取。 2.禁用优化设备存储并连接wifi和电源。照片将从 iCloud 拉回设备。

对于编程方面,我认为唯一的方法是对 iOS8/iOS9 使用 Photos/PHAsset。照片框架可以从 iCloud 读取缩略图和原始文件。

您还有其他解决方案吗?