mirror of
https://github.com/VernissageApp/Vernissage.git
synced 2024-12-29 10:20:11 +01:00
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
|
|
}
|
|
}
|