在我开始实施另一种方法来存储我作为 CKAssets 上传的图像的元数据之前,请确保我没有遗漏任何东西。现在我已经向 CKAsset 添加了一个扩展,如下所示:
extension CKAsset {
func getMetadata() -> [AnyHashable:Any]? {
if let url = fileURL {
let data = try? Data(contentsOf: url)
let source = CGImageSourceCreateWithData(data as! CFMutableData, nil)
let metadata = CGImageSourceCopyPropertiesAtIndex(source!, 0, nil) as? [CFString : Any]
return metadata
}
return nil
}
}
但它似乎已经清除了除了一些非常简单的属性(如宽度和高度)之外的所有元数据。
我是否遗漏了什么或者元数据没有与 CKAsset 一起保存?