首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS使用UIActivityViewController共享图像和应用程序的URL

iOS使用UIActivityViewController共享图像和应用程序的URL
EN

Stack Overflow用户
提问于 2015-10-06 12:27:58
回答 2查看 10.6K关注 0票数 11

使用UIActivityViewController共享图像和URL对facebook和gmail很好,但对于whatsapp则不起作用。这是我用的代码

代码语言:javascript
运行
复制
- (void)share {
    UIScreen *screen = [UIScreen mainScreen];
    UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
    UIGraphicsBeginImageContextWithOptions(screen.bounds.size, NO, 0);
    [keyWindow drawViewHierarchyInRect:keyWindow.bounds afterScreenUpdates:YES];
    UIImage *snapShotImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImage *imageToShare = snapShotImage;

    NSURL *urlToShare = [NSURL URLWithString:@"http://google.com"];

    NSMutableArray *activityItems = [NSMutableArray arrayWithObjects:urlToShare, imageToShare, nil];

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
    activityViewController.excludedActivityTypes = @[
                                                     UIActivityTypePrint,
                                                     UIActivityTypeCopyToPasteboard,
                                                     UIActivityTypeAssignToContact,
                                                     UIActivityTypeSaveToCameraRoll,
                                                     UIActivityTypeAddToReadingList,
                                                     UIActivityTypeAirDrop];


    [self presentViewController:activityViewController animated:YES completion:nil];
}
  1. 我错过什么了吗?
  2. 我是否需要为whatsapp实现自定义活动?

注意:在2的情况下,我们需要在继续之前找到这个hiding whatsapp from activityviewcontroller解决方案。

EN

Stack Overflow用户

发布于 2016-05-14 07:47:08

WhatsApp有更新的策略,不允许将简单的文本与图像、URL或文档共享。

如果您试图单独共享图像和URL,它将从数组中获取最后一个对象并共享该对象。

您可以这样发送图像:

代码语言:javascript
运行
复制
NSMutableArray *activityItems= [NSMutableArray arrayWithObjects:img, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo, UIActivityTypeAirDrop];    
[self presentViewController:activityViewController animated:YES completion:nil];

还需要在Plist文件中为iOS9设置权限。

代码语言:javascript
运行
复制
<key>LSApplicationQueriesSchemes</key>
 <array>
  <string>whatsapp</string>
 </array>
票数 10
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32969977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档