SBSDKImageMetadataProcessor
@interface SBSDKImageMetadataProcessor : NSObject
Helper class to extract image metadata, e.g. EXIF, TIFF, JFIF from any images data. Be cautious: changing an images metadata can break it, e.g. by setting wrong width or height.
Example usage:
Use UIImageJPEGRepresentation(UIImage *image, CGFloat compressionFactor) to get the NSData object from an UIImage.
Call SBSDKImageMetadataProcessor method extractMetadataFromImageData: to retrieve a SBSDKImageMetadata object from the image data.
Modify the metadata object as needed.
Call SBSDKImageMetadataProcessor method imageDataByInjectingMetadata to inject the modified metadata into the image data.
Create a new UIImage object from the returned image data using UIImage(data:) constructor with the modified metadata.
-
Extracts an images metadata (EXIF, TIFF, JFIF etc.) from an NSData object.
Declaration
Objective-C
+ (nullable SBSDKImageMetadata *)extractMetadataFromImageData: (nullable NSData *)imageData;
Swift
class func extractMetadata(fromImageData imageData: Data?) -> SBSDKImageMetadata?
Parameters
imageData
The NSData object containing an images data.
Return Value
An SBSDKImageMetadata object containing the images metadata.
-
Merges image data and (modified) image metadata and creates a new NSData object that can be used to create a new image.
Declaration
Objective-C
+ (nullable NSData *)imageDataByInjectingMetadata: (nonnull SBSDKImageMetadata *)metadata intoImageData:(nullable NSData *)imageData;
Swift
class func imageData(byInjecting metadata: SBSDKImageMetadata, intoImageData imageData: Data?) -> Data?
Parameters
metadata
The (modified) metadata object to be used for the new image data object.
imageData
The image data of the image to inject the metadata into.
Return Value
An NSData object containing the given image data and metadata. Can be used to create a new UIImage.