我已经能够将照片分享到 Whatsapp,但我这样做的方法是在UIActivityViewController
然后显示一个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 共享图像,并提供保存图像的选项。
好吧...让我们慢慢分解这两种最快的方法。
脸书 + Whatsapp
Via UIActivityViewController
If you share image via UIActivityViewController
then in order to provide Whatsapp option, you'll need to create a custom UIActivity
(See Stackoverflow Question).
The problems与此是:
- Whatsapp has not provided a URL scheme to pass an image object (yet).
Look at JBWhatsAppActivity if you're curious about this in general.
Via UIDocumentInteractionController
如果您通过以下方式分享图像UIDocumentInteractionController
那么为了提供 Facebook 选项,您需要将 UTI 指定为public.image
.
The problems与此是:
- The
public.image
UTI 将填充您的UIDocumentInteractionController
除了 Facebook 和 Whatsapp,还有更多选择。
- For
Save
option, rather than
- Using
-presentOpenInMenuFromRect:inView:animated:
仅显示打开此文件类型的应用程序的方法...
- 您将需要使用
-presentOptionsMenuFromRect:inView:animated:
方法以显示选项Save to Album
. But这将包括其他选项,例如Mail
etc.
Summary:
如果您仅使用UIDocumentInteractionController
那么你应该接受你无法展示的事实justFacebook + Whatsapp + 保存 (由于上述原因)
如果你使用UIActivityViewController
并且不想创建自定义UIActivity
对于 Whatsapp,那么你就被困住了but...如果您决定使用自定义UIActivity
那么你仍然陷入困境,因为没有规定使用 Whatsapp 共享图像对象UIActivityViewController
.
结论:
似乎没有什么简单的方法可以实现justFacebook + Whatsapp + 保存选项。
让事情变得复杂的是Whatsapp,它迫使你使用UIDocumentInteractionController
这似乎是在 Whatsapp 上分享图像的唯一方式(现在) and由于它的 URL 方案有限,因此没有必要在UIActivityViewController
.
此外,使用UIDocumentInteractionController
反过来,你会提供比你想要的更多的选择。
老实说,现在看起来相当黯淡。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)