@@ -24,7 +24,12 @@ + (instancetype)objectWithItemProviderData:(NSData *)data typeIdentifier:(NSStri
2424#pragma mark - NSItemProviderWriting
2525
2626+ (NSArray <NSString *> *)writableTypeIdentifiersForItemProvider {
27- return [NSImage imageTypes ];
27+ return @[(__bridge NSString *)kUTTypeTIFF ,
28+ (__bridge NSString *)kUTTypePNG ,
29+ (__bridge NSString *)kUTTypeJPEG ,
30+ (__bridge NSString *)kUTTypeJPEG2000 ,
31+ (__bridge NSString *)kUTTypeBMP ,
32+ (__bridge NSString *)kUTTypeGIF ];
2833}
2934
3035- (nullable NSProgress *)loadDataWithTypeIdentifier : (nonnull NSString *)typeIdentifier forItemProviderCompletionHandler : (nonnull void (^)(NSData * _Nullable, NSError * _Nullable))completionHandler {
@@ -36,21 +41,21 @@ - (nullable NSProgress *)loadDataWithTypeIdentifier:(nonnull NSString *)typeIden
3641 } else {
3742 bitmapImageRep = [[NSBitmapImageRep alloc ] initWithCGImage: self .CGImage];
3843 }
39- NSBitmapImageFileType fileType;
40- if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeJPEG ]) {
44+ NSBitmapImageFileType fileType = NSBitmapImageFileTypeTIFF; // Defaults to TIFF
45+ if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeTIFF ]) {
46+ fileType = NSBitmapImageFileTypeTIFF;
47+ } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypePNG ]) {
48+ fileType = NSBitmapImageFileTypePNG;
49+ } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeJPEG ]) {
4150 fileType = NSBitmapImageFileTypeJPEG;
4251 } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeJPEG2000 ]) {
4352 fileType = NSBitmapImageFileTypeJPEG2000;
44- } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypePNG ]) {
45- fileType = NSBitmapImageFileTypePNG;
4653 } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeBMP ]) {
4754 fileType = NSBitmapImageFileTypeBMP;
4855 } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeGIF ]) {
4956 fileType = NSBitmapImageFileTypeGIF;
50- } else if ([typeIdentifier isEqualToString: (__bridge NSString *)kUTTypeTIFF ]) {
51- fileType = NSBitmapImageFileTypeTIFF;
5257 }
53- NSData *imageData = [bitmapImageRep representationUsingType: NSBitmapImageFileTypeJPEG properties: @{}];
58+ NSData *imageData = [bitmapImageRep representationUsingType: fileType properties: @{}];
5459 if (completionHandler) {
5560 completionHandler (imageData, nil );
5661 }
0 commit comments