gpt4 book ai didi

ios - 将 UIImage 共享到 UIActivityViewController Twitter/Facebook 显示对话框非常慢

转载 作者:可可西里 更新时间:2023-11-01 04:01:33 25 4
gpt4 key购买 nike

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

当我将此图像添加到 UIActivityViewController 的 activityItems 中,然后按下以与 Twitter 或 Facebook 共享时,我必须等待最多 20 秒才能显示共享对话框。

请注意,我指的是为 Twitter/Facebook 显示的实际“发布”对话框,而不是生成它的 native 共享弹出窗口。

当我从“照片”应用分享同一张图片时,它会立即出现。

起初我以为照片应用程序正在调整图像大小,因为较小的图像出现得更快,但我发现当我使用 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];

为了它的值(value),我还尝试排除其他共享类型(我读到过 AirDrop 导致的问题),以及包装 block 以确保我在主线程上执行。

我假设我做错了什么?

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

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

谢谢

最佳答案

在共享对话框出现之前,我们已经看到 4-20 秒的延迟!
我已经通过为 Twitter 和 Facebook 创建自定义 UIActivity 项来修复它,它只是在 performActivity 方法中调用 SLComposeViewController

似乎快多了。

关于ios - 将 UIImage 共享到 UIActivityViewController Twitter/Facebook 显示对话框非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28729830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com