5

I am trying to get a resized image of maximum 1080x1080 pixels in my app extension:

NSExtensionItem *item = self.extensionContext.inputItems.firstObject;
NSItemProvider *provider = item.attachments.firstObject;
id imageOptions = @{
               NSItemProviderPreferredImageSizeKey: [NSValue valueWithCGSize:CGSizeMake(1080, 1080)]
               };
if([provider hasItemConformingToTypeIdentifier:(NSString*)kUTTypeImage]){
    [provider loadItemForTypeIdentifier:(NSString*)kUTTypeImage options:imageOptions completionHandler:^(id<NSSecureCoding>  _Nullable item, NSError * _Null_unspecified error) {
        if(error){
            NSLog(@"An error occured.");
            [self.extensionContext completeRequestReturningItems:nil completionHandler:nil];
        }else{
            NSURL *url = (NSURL*)item;
            UIImage *result = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
            //RESULT IS FULL SIZE HERE: 3024x4032

        }
    }];
}

However, the result image is 3024x4032. What am I doing wrong?

Can Poyrazoğlu
  • 33,241
  • 48
  • 191
  • 389

0 Answers0