iOS分享GIF(动画图片)无效

Sat*_*tar 6 twitter facebook objective-c gif ios

已经差不多2天了,我正在寻找解决我的问题但我没有成功,我想在Facebook,Twitter,电子邮件,WhatsApp上使用"UIActivityViewController"分享GIF(动画图像).

这是我的代码:

NSURL *imagePath = [NSURL URLWithString:@"http://sth.gif"];
NSData *animatedGif = [NSData dataWithContentsOfURL:imagePath];

NSArray *sharingItems = [NSArray arrayWithObjects: animatedGif,stringToShare, nil];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
Run Code Online (Sandbox Code Playgroud)

当我分享电子邮件时,它的动画和它的工作完美,但在Twitter,Facebook,whatsApp Gifs没有动画,它就像一个图像......我已经阅读了所有关于相同问题的堆栈溢出问题像这样这样或者这样但是它不适合我.

Sat*_*tar 3

到目前为止,根据几天的研究发现:

Twitter:为了在 Twitter 上分享 GIF,必须使用 Twitter API 并创建一个多部分请求来实现目标,并且效果很好。

FACEBOOK:我确实使用FACEBOOKSHAREKIT在 Facebook 上分享了一些 GIF ,但我不知道为什么有时 Gif 是动画的,有时不是。

INSTAGRAM:要在 Instagram 上分享 gif,必须将 GIFS 转换为 MP4(或 Instagram 接受的任何其他视频格式),然后将其保存到相机胶卷中,然后分享它,虽然有点扭曲,但效果很好。

WHATSAPP:它根本不支持 GIF。阅读更新

为了完成这一切,我无法使用“UIActivityViewController”,因此决定创建一个自定义共享页面。如果有人知道要在这里添加的内容,以帮助我和其他人,请告诉我(特别是关于 Facebook 的)。提前致谢

更新

WHATSAPP:感谢 @AmmarShahid,正如他在评论中提到的,Whatsapp 现在支持 gif。

  • Whatsapp 现在支持 gif。您只需以 nsdata 格式传递数据。 (2认同)