Ios 将UIImage共享到UIActivityViewController Twitter/Facebook对话框显示速度非常慢

Ios 将UIImage共享到UIActivityViewController Twitter/Facebook对话框显示速度非常慢,ios,objective-c,uiactivityviewcontroller,slcomposeviewcontroller,Ios,Objective C,Uiactivityviewcontroller,Slcomposeviewcontroller,我有一张从相机拍摄的图像,并保存到/tmp文件夹中 当我将此图像添加到UIActivityViewController的activityItems中,然后按与Twitter或Facebook共享时,我需要等待20秒才能显示共享对话框 请注意,我指的是Twitter/Facebook上出现的实际“帖子”对话框,而不是生成它的本地共享弹出窗口 当我共享照片应用程序中的同一张图片时,它会立即出现 起初,我认为照片应用程序正在调整图像的大小,因为较小的图像显示得更快,但我发现,当我与SLComposeV

我有一张从相机拍摄的图像,并保存到/tmp文件夹中

当我将此图像添加到UIActivityViewController的activityItems中,然后按与Twitter或Facebook共享时,我需要等待20秒才能显示共享对话框

请注意,我指的是Twitter/Facebook上出现的实际“帖子”对话框,而不是生成它的本地共享弹出窗口

当我共享照片应用程序中的同一张图片时,它会立即出现

起初,我认为照片应用程序正在调整图像的大小,因为较小的图像显示得更快,但我发现,当我与SLComposeViewController直接在Twitter或Facebook上共享同一图像时,它(几乎)立即出现

假设这是我在代码中做的不正确的事情,下面是导致对话框缓慢出现的原因:

NSArray *items = @[@"foo", [UIImage imageWithContentsOfFile:@"valid path to test image"]];

UIActivityViewController *vc = [[UIActivityViewController alloc]
        initWithActivityItems:items applicationActivities:nil];
[self presentViewController:vc animated:YES completion:nil];
以下是几乎立即起作用的方法:

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[controller setInitialText:@"foo"];
[controller addImage:[UIImage imageWithContentsOfFile:@"valid path to test image"]];
[self presentViewController:controller animated:YES completion:Nil];
值得一提的是,我还尝试排除其他共享类型(我在过去读到空投导致的问题),以及包装块以确保在主线程上执行

我想我做错了什么

如果我没有,而这两种其他方法实际上正在调整图像的大小,是否有一些我缺少的文档提供了关于调整大小的指导

**编辑:额外的测试似乎表明这个问题是iOS8独有的,因为我在旧的iOS7设备上没有遇到过


谢谢

在共享对话框出现之前,我们已经看到了4-20秒的延迟
我通过为Twitter和Facebook创建自定义的
UIActivity
项目来解决这个问题,它只需调用
SLComposeViewController
inside
performActivity
方法


看起来快多了。

我只是想补充一点,我在iOS 8.4Hmm上看到了这一点。。。这太可惜了。那么这张图片真的上传到Twitter上了吗?上传用户生成的照片会很好。另外,iOS 9中是否仍存在此性能问题?