iOS 8 照片框架:从 PHAsset 获取文件名
Posted
技术标签:
【中文标题】iOS 8 照片框架:从 PHAsset 获取文件名【英文标题】:iOS 8 Photos framework: Get file name from PHAsset 【发布时间】:2015-10-23 15:33:46 【问题描述】:有什么方法可以从 ios 8 中的 PHAsset 对象中获取文件名,就像 ALAsset 的 defaultRepresentation 提供文件名一样?
// For ALAsset
let defaultRepresentation = self.asset.defaultRepresentation()
let filename = defaultRepresentation.filename()
注意:这可以在 iOS9 中使用 PHAssetResource 类来完成。但我正在寻找 iOS8 和记录的方法(请不要使用未记录的 API)。
我确实在SO上找到了同样的问题,但没有找到令人信服的答案,所以我想单独问。
任何指针将不胜感激。
【问题讨论】:
【参考方案1】:有一个名为 PHAsset.filename
的私有 API。
let filename = phAsset.value(forKey: "filename") as! String
你会得到类似“IMG_193.PNG”的东西。
【讨论】:
【参考方案2】:在 iOS 8 上没有记录的方法可以做到这一点。
您唯一“可能”使用的是PHImageManager
的方法requestImageDataForAsset:
的信息字典中返回的PHImageFileURLKey
。但即便如此,也没有完整记录。
【讨论】:
谢谢。我也没有找到任何其他方法,所以我在请求全尺寸图像时使用了 PHImageFileURLKey 。但是当我通过 requestImageForAsset(_:targetSize:contentMode:options:resultHandler:) 获取缩略图时,信息字典中没有这样的键。您知道在请求缩略图时如何获取文件名吗?我需要它来设置辅助功能提示。以上是关于iOS 8 照片框架:从 PHAsset 获取文件名的主要内容,如果未能解决你的问题,请参考以下文章