【发布时间】:2014-09-21 07:25:13
【问题描述】:
我可以通过PHFetchResult *results = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];获取在设备上创建的相册列表
我想一定有类似的方法来获取共享照片流相册(或者我认为它们现在可能被称为“iCloud 照片共享相册”),但对于我的生活......无法弄清楚.有人解决了这个问题吗?
【问题讨论】:
我可以通过PHFetchResult *results = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];获取在设备上创建的相册列表
我想一定有类似的方法来获取共享照片流相册(或者我认为它们现在可能被称为“iCloud 照片共享相册”),但对于我的生活......无法弄清楚.有人解决了这个问题吗?
【问题讨论】:
PhotoKit 的查询逻辑让我很困惑,但下面的答案对我有用(提示:您必须查询 PHAssetCollection,而不是 PHCollectionList)
PHFetchResult *results = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumCloudShared options:nil]
【讨论】:
对于那些寻求快速语法的人:
let result = PHAssetCollection.fetchAssetCollections(with: PHAssetCollectionType.album, subtype: PHAssetCollectionSubtype.albumCloudShared, options: nil)
result.enumerateObjects { (phassetcollection, index, setThisToTrueToStop) in
print("\(index): \(phassetcollection.localizedTitle) \(phassetcollection.localIdentifier)")
}
【讨论】:
let result = PHAssetCollection.fetchAssetCollections(with: PHAssetCollectionType.album, subtype: PHAssetCollectionSubtype.albumCloudShared, options: nil); result.enumerateObjects { (phassetcollection, index, setThisToTrueToStop) in }