iOS 判斷PHAsset 是不是允許從icould下載圖片
阿新 • • 發佈:2020-12-07
1.大部分都是一下判斷, 我自己試驗後,完全不準
[[PHImageManager defaultManager] requestImageForAsset:selectedAsset targetSize:targetSize contentMode:contentMode options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) { if ( [info objectForKey:PHImageResultIsInCloudKey]){ ///這是icloud } }];
2.推薦使用判斷
/// 是否需要網路下載 /// @param asset 下載的圖片 + (BOOL)isNetworkAccessAllowed:(PHAsset *)asset{ // asset是一個您想要為其獲取資訊的PHAsset物件 NSArray *resourceArray = [PHAssetResource assetResourcesForAsset:asset]; if (resourceArray.count >= 1){ ///本地是否可用:NO 代表icould 圖片 // If this returns NO, then the asset is in iCloud and not saved locally yet return ![[resourceArray.firstObject valueForKey:@"locallyAvailable"] boolValue]; } NSLog(@"asset 資源資訊 resourceArray = %@", resourceArray); if ([[resourceArray.firstObject valueForKey:@"locallyAvailable"] boolValue] == NO){ NSLog(@"圖片 不在本地 isLocallayAvailable == NO"); }else{ NSLog(@"圖片 在本地 isLocallayAvailable == YES"); } return NO; }