xcode5 – ios 8,如何使用ALAssetLibrary获取所有照片来替换丢失的相机胶卷相册

前端之家收集整理的这篇文章主要介绍了xcode5 – ios 8,如何使用ALAssetLibrary获取所有照片来替换丢失的相机胶卷相册前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序有一个自定义的图像选择器,使用ALAssetLibrary创建一个相册选择器和图像选择器.我们已经实施了一个自定义选择器,以便我们的客户选择多个图像.这个图像选择器在iOS 7下运行良好,并显示所有用户照片的“相机胶卷”相册.但是,在iOS 8下运行相同的应用程序时,似乎Apple已从“相册”视图中删除了“相机胶卷”相册,仅显示“近期照片”.从我可以看到,在iOS 8中访问所有照片的唯一方法是通过集合视图(在照片应用程序或新的内置选择器).不幸的是,我现在不能使用Photokit,因为我仍然需要支持我的iOS 6& 7位用户.有没有人知道在iOS 8(编译为 Xcode 5)中运行iOS 7应用程序时,使用ALAssetLibrary获取所有资源并创建自定义相机胶卷相册?

UPDATE

那么,正如我在上面的原文中所说,我最初不能使用新的Photo Framework(PhotoKit).不过,最近我们将构建移至Xcode 6,现在我可以使用照片框架创建一组所有照片(请参阅WWDC ExampleappusingPhotosframework示例代码,了解如何执行此操作).

然而,像每个人都说的PhotoKit一样强大,它缺少一些关键的过滤功能.实际上,没有简单的方法可以使用PHFetchResult的谓词过滤原始“PhotoStream”中的照片.你只能使用公共场所.幸运的是,我想出了如何使用PHAsset描述过滤它们.如果照片在用户的照片流中,则说明中列出的assetSource密钥等于2.所以,我使用快速枚举的结果,并将所有的资产移动到一个数组,不在PhotoStream中使用一个简单的stringInRange过滤器的asset.description属性(寻找“assetSource = 2”).它可能不是最好的解决方案,但它现在适用,所以用户不会看到他们的照片与本地图书馆和他们的照片流的重复.至少我可以呈现所有客户的照片,并允许我的多媒体选择器的功能与使用ALAssetLibrary的原始类别相同.

所有的意思是,如果有人使用谓词更好的解决方案,请lmk.

解决方法

好的,好像只是一个bug,而iOS 8.0.2修复了(至少对我来说,我现在可以看到图片选择器中的所有照片).

This release contains improvements and bug fixes,including:

[…] Fixes an issue that prevented some apps from accessing photos from the Photo Library. […]

猜你在找的iOS相关文章