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. […]

以上是来客网为你收集整理的xcode5 – ios 8,如何使用ALAssetLibrary获取所有照片来替换丢失的相机胶卷相册全部内容,希望文章能够帮你解决xcode5 – ios 8,如何使用ALAssetLibrary获取所有照片来替换丢失的相机胶卷相册所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。