3

I am trying to share different type of images using UIActivityViewController to facebook messenger. I am facing no problem while sharing the images (.png), but I am not able to send gif images (.gif), it is giving error "Couldn't load content".

I am converting the image to data & then sending the data in array through UIActivityViewController.

Here, I am firing a notification with the details & extracting the gif path & then processing it.

NSDictionary *dictAsset = [notification userInfo];

NSData *imageData = [NSData dataWithContentsOfFile:dictAsset[@"path"]];

NSArray *imageToShare = [NSArray arrayWithObjects: imageData, [dictAsset objectForKey:@"assetName"], nil];

NSArray *arrAsset = imageToShare;

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:arrAsset applicationActivities:nil];

Has anyone faced same issue? or if anyone has a solution then please help me out.

iYoung
  • 3,596
  • 3
  • 32
  • 59

1 Answers1

1

iOS does not consider a GIF an image. You have to instead share it as a file:

NSURL *gifFile = [NSURL fileURLWithPath:@"funnyface.gif"];

NSArray *items = @[gifFile];

[[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
clocksmith
  • 6,226
  • 3
  • 32
  • 45
  • It works. This idea is good for me. I wasted a lot of time looking for this solution. Thank you so much. – steve kim Feb 07 '17 at 00:36