我一直在寻找类似的东西,甚至发现这个问题也花了我一段时间!我很惊讶没有更多的人寻找这个功能。我找不到太多这方面的文献。
相关问题How to Get iCloud Shared Albums Owner Details显示PHCloudSharedAlbum的存在,我可以通过基本调试来验证。
let collections = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .albumCloudShared, options: nil)
print("fetchAssetCollections:")
for i in 0..<collections.count {
if collections[i].localizedTitle == "My Test Shared Album" {
print(collections[i])
}
}
尽管存在这种类型的资产集合,但它不会出现在 Xcode 11.4 / iOS 13.4.1 / Swift 5 的当前 iOS SDK/API 文档中。它似乎是私有的,不适合公共使用。
<PHCloudSharedAlbum: 0x155e2fe30> ED1EB808-33D8-4E71-BD3F-79FCD616A87C/L0/040, title:"My Test Shared Album", subtitle:"(null)" assetCollectionType=1/101
精确的 Google 搜索“PHCloudSharedAlbum”会产生一些带有(反编译?)Photos.framework 源代码的 GitHub 存储库,但即使是其中的字段也非常有限。
short _cloudAlbumSubtype;
bool _cloudMultipleContributorsEnabled;
NSNumber * _cloudOwnerEmailKey;
NSString * _cloudOwnerFirstName;
NSString * _cloudOwnerFullName;
NSString * _cloudOwnerLastName;
bool _owned;
附带的面向公众的 Apple 文档 If Shared Albums aren't working 暗示(根据我的解释)该社交信息与 iCloud 照片收藏中的资产没有直接关联。
任何附加到共享相册中的照片或视频的 cmets 或赞都不会与照片或视频一起保存。
或者至少,如果该信息与照片和视频相关联,则不会暴露。导出 iCloud 共享相册的用户或开发人员似乎无法使用它。