gpt4 book ai didi

ios - 将图像分享到 Whatsapp 和 Facebook

转载 作者:技术小花猫 更新时间:2023-10-29 10:33:29 24 4
gpt4 key购买 nike

我已经能够将照片分享到 Whatsapp,但我这样做的方法是在 UIActivityViewController 中提供 Whatsapp 选项,然后显示 UIDocumentInteractionController

从这个 UIDocumentInteractionController 中,我选择 Whatsapp 选项,该选项将用户重定向到 Whatsapp 并使他能够共享照片。

到目前为止我的代码是这样的:

if ([activityType isEqualToString:@"whatsappSharing"]) {
if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]]) {
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wai"];

[UIImageJPEGRepresentation(finalImage, 1.0) writeToFile:savePath atomically:YES];

weakDocumentInteraction = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
weakDocumentInteraction.UTI = @"net.whatsapp.image";
weakDocumentInteraction.delegate = weakSelf;

[weakDocumentInteraction presentOpenInMenuFromRect:CGRectZero inView:weakSelf.view animated:YES];
}
}

我希望能够从 UIActivityViewController 中选择选项并直接显示 Whatsapp。

有没有办法跳过呈现 UIDocumentInteractionController 并以编程方式选择 Whatsapp 应用程序选项的第二部分?

目前,用户必须选择 Whatsapp 选项两次才能分享图片。

PS:我正在使用 UIActivityViewController 因为我也在使用其他事件。

最佳答案

基本上,您想通过 Facebook 或 Whatsapp 分享图片,并提供保存图片的选项。

好吧...让我们慢慢分解这两种最快的方法。


Facebook + Whatsapp

通过 UIActivityViewController

如果您通过 UIActivityViewController 分享图片,那么为了提供 Whatsapp 选项,您需要创建自定义 UIActivity (See Stackoverflow Question)

问题是:

  1. Whatsapp 尚未提供用于传递图像对象的 URL 方案(目前)。
    查看JBWhatsAppActivity如果您对此感到好奇。

通过 UIDocumentInteractionController

如果您通过 UIDocumentInteractionController 分享图片,那么为了提供 Facebook 选项,您需要将 UTI 指定为 public.image.

问题是:

  1. public.image UTI 将为您的 UIDocumentInteractionController 填充更多选项,而不仅仅是 Facebook 和 Whatsapp。
  2. 对于 Save 选项,而不是
    • 使用 -presentOpenInMenuFromRect:inView:animated: 方法仅显示打开此文件类型的应用...
    • 您需要使用 -presentOptionsMenuFromRect:inView:animated: 方法来显示选项 Save to Album但是这将包括其他选项,例如Mail 等。

总结:

如果您只使用 UIDocumentInteractionController 那么您应该接受这样一个事实,即您不能 Facebook + Whatsapp + Save(由于上述原因 em>)

如果您使用 UIActivityViewController 并且不想为 Whatsapp 创建自定义 UIActivity,那么您会被卡住但是...如果您决定使用自定义 UIActivity,那么您仍然陷入困境,因为没有规定可以使用 UIActivityViewController 与 Whatsapp 共享图像对象。

结论:

似乎没有任何简单的方法可以 Facebook + Whatsapp + 保存选项。

使它复杂化的是 Whatsapp,它迫使您使用 UIDocumentInteractionController,这似乎是在 Whatsapp 上共享图像的唯一方式(当前) 由于它的 URL 方案有限,因此在 UIActivityViewController 中提供它没有意义。

此外,依次使用 UIDocumentInteractionController 会让您提供比您想要的更多的选项。

老实说,现在这看起来很惨淡。

关于ios - 将图像分享到 Whatsapp 和 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23921990/

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