iOS开发 PHAsset获取照片名称

来源:互联网 发布:免费网站源码 编辑:程序博客网 时间:2024/06/08 08:01

用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);
原创粉丝点击