测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | 自定义 |
发布最新发布 | 2017年5月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✗ |
由Hai Pham维护。
依赖项 | |
SDWebImage/WebP | >= 0 |
SwiftUtilities/Main | >= 0 |
PHPhotoLibrary的媒体内容处理器。基于RxSwift。
这个库提供了两个主要的方便的类,它们抽象了iOS开发中处理媒体获取所需的大部分工作
此类提供从多个来源加载各种类型媒体的方法。例如,要从PHAsset加载图像,指定一个类型为LocalImageRequest的请求,如下所示
LocalImageRequest.builder().with(media:).with(size:).build()
然后将它传递给MediaHandler实例,如下所示
MediaHandler().rxRequest(request:)
此类提供了一个方便的Observable,用于加载本地的PHAsset实例。简单地将类型(.image,.audio,.video)和媒体集合类型(.album,.smartAlbum,.moment)逐一或作为一个数组提供给它,订阅到LocalMediaDatabase.mediaObservable,并调用LocalMediaDatabase.loadInitialAlbums()以开始接收更新。如果PHPhotoLibrary权限尚未得到授权,它将自动要求用户这样做。
例如
let mediaDatabase = LocalMediaDatabase.builder() .add(mediaTypes: .image, .audio, .video) .add(collectionTypes: .album, .smartAlbum, .moment) .build()
然后订阅到监听器observable
mediaDatabase.mediaObservable.subscribe()
最后,加载初始相册并设置更改观察器
mediaDatabase.loadInitialAlbums()
如果在此阶段权限被拒绝,则会抛出一个错误。
此库需要CocoaPods。请使用
pod 'SwiftMediaContentHandler'
为适当的构建目标。
请访问TestApplication-iOS [https://github.com/protoman92/TestApplication-iOS.git]进行快速演示(特别是GalleryController)。