diff --git a/src/Util/MIMETypeUtil.h b/src/Util/MIMETypeUtil.h index 8ca864fe6..c5bc1e491 100644 --- a/src/Util/MIMETypeUtil.h +++ b/src/Util/MIMETypeUtil.h @@ -42,8 +42,9 @@ extern NSString *const OWSMimeTypeUnknownForTests; + (NSSet *)supportedImageUTITypes; + (NSSet *)supportedAnimatedImageUTITypes; -+ (NSString *)utiTypeForMIMEType:(NSString *)mimeType; -+ (NSString *)fileExtensionForUTIType:(NSString *)utiType; -+ (NSString *)fileExtensionForMIMEType:(NSString *)mimeType; ++ (nullable NSString *)utiTypeForMIMEType:(NSString *)mimeType; ++ (nullable NSString *)utiTypeForFileExtension:(NSString *)fileExtension; ++ (nullable NSString *)fileExtensionForUTIType:(NSString *)utiType; ++ (nullable NSString *)fileExtensionForMIMEType:(NSString *)mimeType; @end diff --git a/src/Util/MIMETypeUtil.m b/src/Util/MIMETypeUtil.m index a838a0452..bbe2fb37f 100644 --- a/src/Util/MIMETypeUtil.m +++ b/src/Util/MIMETypeUtil.m @@ -1571,4 +1571,13 @@ NSString *const OWSMimeTypeUnknownForTests = @"unknown/mimetype"; return fileExtension; } ++ (NSString *)utiTypeForFileExtension:(NSString *)fileExtension +{ + OWSAssert(fileExtension.length > 0); + + NSString *utiType = (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag( + kUTTagClassFilenameExtension, (__bridge CFStringRef)fileExtension, NULL); + return utiType; +} + @end