28 lines
790 B
Swift
28 lines
790 B
Swift
|
//
|
||
|
// https://mczachurski.dev
|
||
|
// Copyright © 2022 Marcin Czachurski and the repository contributors.
|
||
|
// Licensed under the MIT License.
|
||
|
//
|
||
|
|
||
|
|
||
|
import Foundation
|
||
|
import UIKit
|
||
|
|
||
|
public extension UIImage {
|
||
|
func getExifData() -> CFDictionary? {
|
||
|
var exifData: CFDictionary? = nil
|
||
|
|
||
|
if let data = self.jpegData(compressionQuality: 1.0) {
|
||
|
data.withUnsafeBytes {
|
||
|
let bytes = $0.baseAddress?.assumingMemoryBound(to: UInt8.self)
|
||
|
if let cfData = CFDataCreate(kCFAllocatorDefault, bytes, data.count),
|
||
|
let source = CGImageSourceCreateWithData(cfData, nil) {
|
||
|
exifData = CGImageSourceCopyPropertiesAtIndex(source, 0, nil)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return exifData
|
||
|
}
|
||
|
}
|