回答我自己的问题.获取GPS元数据的记忆有效且快速的方法是
let options = [kCGImageSourceShouldCache as String: kCFBooleanFalse]
if let data = NSData(contentsOfURL: url), imgSrc = CGImageSourceCreateWithData(data, options) {
let metadata = CGImageSourceCopyPropertiesAtIndex(imgSrc, 0, options) as Dictionary
let gpsData = metadata[kCGImagePropertyGPSDictionary] as? [String : AnyObject]
}
Run Code Online (Sandbox Code Playgroud)
第二个选择是
if let img = CIImage(contentsOfURL: url), metadata = img.properties(),
gpsData = metadata[kCGImagePropertyGPSDictionary] as? [String : AnyObject] { … }
Run Code Online (Sandbox Code Playgroud)
它在Swift中看起来更好但使用更多内存(通过Profiler测试).
| 归档时间: |
|
| 查看次数: |
3466 次 |
| 最近记录: |