除了相机胶卷,如何从 iPhone 中获取所有资产?
Posted
技术标签:
【中文标题】除了相机胶卷,如何从 iPhone 中获取所有资产?【英文标题】:How to fetch all assets from iPhone apart from camera roll? 【发布时间】:2018-06-19 10:01:14 【问题描述】:如何从包括图片和视频在内的所有相册中获取资源?
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
let allPhotos = PHAsset.fetchAssets(with: .image, options: fetchOptions)
此代码将仅从相机胶卷中获取图像。
【问题讨论】:
【参考方案1】:您可以使用此代码从 iPhone 获取所有资产。
phphotoLibrary.shared().register(self as PHPhotoLibraryChangeObserver)
if fetchResult == nil
let allPhotosOptions = PHFetchOptions()
allPhotosOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
fetchResult = PHAsset.fetchAssets(with: allPhotosOptions)
【讨论】:
这将获取所有图像和视频,但不是所有来自其他专辑的图像和视频,例如 .sync 专辑。【参考方案2】:我们可以获取所有照片,包括同步相册和用户相册。
let fetchOptions = PHFetchOptions()
fetchOptions.includeAssetSourceTypes = [.typeUserLibrary, .typeiTunesSynced, .typeCloudShared]
let fetchResult = PHAsset.fetchAssets(with: fetchOptions)
fetchResult 将包含所有相册中的所有照片和视频。
【讨论】:
以上是关于除了相机胶卷,如何从 iPhone 中获取所有资产?的主要内容,如果未能解决你的问题,请参考以下文章