Jas*_*son 6 objective-c ios slcomposeviewcontroller uiactivityviewcontroller
我有一张从相机中取出的图像并保存到/ 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];
Run Code Online (Sandbox Code Playgroud)
这几乎是立即起作用的:
SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[controller setInitialText:@"foo"];
[controller addImage:[UIImage imageWithContentsOfFile:@"valid path to test image"]];
[self presentViewController:controller animated:YES completion:Nil];
Run Code Online (Sandbox Code Playgroud)
为了它的价值,我也尝试排除其他共享类型(我读过去AirDrop引起的问题),以及包装块以确保我在主线程上执行.
我想我做错了什么?
如果我不是,并且这两个其他方法实际上正在调整图像大小,是否有一些我缺少的文档提供了关于调整大小的指导?
**编辑:额外的测试似乎表明这个问题是iOS8独有的,因为我没有在较旧的iOS7设备上体验过它.
谢谢
我们还看到共享对话框出现之前有 4\xe2\x80\x9320 秒的延迟!。
\n我通过为 Twitter 和 Facebook 创建自定义项目来修复这个UIActivity问题,只需调用SLComposeViewController内部performActivity方法。
看起来快得多。
\n| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |