美文网首页
关于iOS选取相册中iCloud云上图片和视频

关于iOS选取相册中iCloud云上图片和视频

作者: Mr周190728 | 来源:发表于2020-07-06 17:21 被阅读0次

在视频选择的时候遇到了一个不太容易发现的bug,产生的原因是由于手机内存小,而用户又打开了相册同步iCloud, 在这时,如果本地可用内存过小,会导致将本地相册中的图片或视频删除只留缩略图,如果App调用的时候想要选取这种图片就需要从iCloud云中进行下载,才能获取原图或原视频.

// get Image

[[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {

}];

// get Video

[[PHImageManager defaultManager] requestPlayerItemForVideo:asset options:nil resultHandler:^(AVPlayerItem * _Nullable playerItem, NSDictionary * _Nullable info) {

    if (completion) completion(playerItem,info);

}];

但是往往之前没有注意到第二个输入options是用来干嘛的,

其实解决方案就来自于这个PHImageRequestOptions,PHVideoRequestOptions。

这这两个options都有一个共同的参数就是

@property (nonatomic, assign, getter=isNetworkAccessAllowed) BOOL networkAccessAllowed;

// if necessary will download the image from iCloud (client can monitor or cancel using progressHandler). Defaults to NO (see start/stopCachingImagesForAssets)

系统的解释也很详细,如果赋值YES,那么允许从iCloud中获取图片和视频,默认是NO。所以要正常获取图片或视频的URL,在云端的资源必须设为YES,不然无法读取到资源

  options.networkAccessAllowed = YES;

虽然这个问题解决不是很难,但容易被忽略,我是找了很久原因才发现,所以记录一下。

相关文章

网友评论

      本文标题:关于iOS选取相册中iCloud云上图片和视频

      本文链接:https://www.haomeiwen.com/subject/delgqktx.html