iOS开发 PHAsset获取照片名称
用PHAsset获取照片名称目前网上有三种方法。第一种: [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:size contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage * _Nullable resul
·
用PHAsset获取照片名称目前网上有三种方法。
第一种:
[[PHImageManager defaultManager] requestImageForAsset:asset targetSize:size contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
NSURL *url = [info valueForKey:@"PHImageFileURLKey"];
NSString *str = [url absoluteString]; //url>string
NSArray *arr = [str componentsSeparatedByString:@"/"];
NSString *imgName = [arr lastObject];
NSLog(@"imgName:%@",imgName);
}]
这种方法是通过获取图片的URL路径,然后再获取图片名称。经过多次测试,图片URL路径有时候可以获取到,有时候获取不到,所以会导致图片名称有时候获取不到,所以这种方法并不靠谱。
第二种
NSArray *resources = [PHAssetResource assetResourcesForAsset:asset];
NSString *orgFilename = ((PHAssetResource*)resources[0]).originalFilename;
NSLog(@"orgFilename:%@",orgFilename);
经过测试,这种方法只有在iOS 9.0以上的系统才有作用,iOS8.0用这个方法获取不到,所以这种方法并不靠谱。
第三种(靠谱的方法)
NSString *filename = [asset valueForKey:@"filename"];
NSLog(@"filename:%@",filename);
更多推荐
所有评论(0)