• iOS 判断PHAsset 是不是允许从icould下载图片


    关于PHImageManager类,NSHipster 有篇总结文章不错。

    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;
    }
    

      

    参考:

    https://www.nuomiphp.com/eplan/7623.html

  • 相关阅读:
    作业八
    作业七:用户体验设计案例分析
    作业六。合作编程
    作业五:需求分析
    作业四:结对编程2
    作业四:合作
    作业三:词频统计
    学习进度表
    java程序练习
    简单博客练习
  • 原文地址:https://www.cnblogs.com/qingzZ/p/14096741.html
Copyright © 2020-2023  润新知