【发布时间】:2016-02-22 10:34:28
【问题描述】:
我正在访问用户的照片以从 PHPhotoLibrary 上传,但我需要能够判断他们是否打开了 iCloud 照片库。
如果他们有 iCloud 照片库,那么他们将拥有一个名为“所有照片”的相册 - 如果关闭 iCloud 照片库,他们将不会拥有该相册。
【问题讨论】:
标签: ios objective-c
我正在访问用户的照片以从 PHPhotoLibrary 上传,但我需要能够判断他们是否打开了 iCloud 照片库。
如果他们有 iCloud 照片库,那么他们将拥有一个名为“所有照片”的相册 - 如果关闭 iCloud 照片库,他们将不会拥有该相册。
【问题讨论】:
标签: ios objective-c
我认为没有任何直接的方法可以做到这一点。但是,有两种我熟悉的解决方法:
检查assetCollection 的localizedTitle 和PHAssetCollectionSubtypeSmartAlbumUserLibrary 的subType。 localizedTitle 将是 “相机胶卷” 用于 iCloud 禁用设备,“所有照片” 用于 iCloud 启用设备。 请记住,如果 Apple 将来更改名称,它就会破产。
每个PHAsset 对象都有一个sourceType。对于 iCloud 照片,该值为 PHAssetSourceTypeCloudShared。这种方法的坏处是,如果用户此时在 iCloud 上没有照片,你将不能说它确实禁用了 iCloud 照片库。
【讨论】:
不是对问题的直接回答,但类似的查询将确定每张图片是在 iCloud 中还是在设备上。在这种情况下,bcattle'sanswer here 应该可以解决问题:
【讨论】: