找不到PHImageResultIsDegradedKey / PHImageFileURLKey

guh*_*an0 6 ios photokit phasset phimagemanager ios13

iOS 13 beta4不再提供

1)PHImageFileURLKey 2)图像结果信息键中的PHImageResultIsDegradedKey。

有人知道找到PHAsset的文件URL的方法吗?

guh*_*an0 0

1. PHImageResultIsDegradedKey现已在最新的 iOS 13 GM 和 GM2 中提供。这样一来问题就解决了。

2. PHImageFileURLKey在 iOS 13 中不可用,如果您非常需要图像资源的 fileURL,并且需要它而不需要任何 PhotoKit 的方法回调,请在资源描述中使用正则表达式。它会起作用的。

您可以使用+[PHAssetResource assetResourcesForAsset:]获取descriptionPHAssetResource 对象的,使用结果数组中的第一个对象,然后使用正则表达式从字符串中提取:fileURL

public static func getFileURLFromPHAssetResourceDescription(description: String) -> String? {
    let regex = try! NSRegularExpression(pattern: "(?<=fileURL: ).*(?=\\s)")
    if let result = regex.firstMatch(in: description, options: [], range: NSRange(location: 0, length: description.count)) {
        let url = String(description[Range(result.range, in: description)!])
        return url
    }
    return nil
}
Run Code Online (Sandbox Code Playgroud)

注意:仅适用于iOS9