iOS原生分享UIActivityViewController

13 篇文章 0 订阅

小编收集了各大博主写的一个关于原生分享和三方分享的优缺点。摘抄几个比较有用的对比图,如下图所示。
请添加图片描述
具体使用系统UIActivityViewController代码如下:

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    
    NSString *textToShare = @"分享famisafe";//需要分享的文本内容
    UIImage *imageToShare = [UIImage imageNamed:@"logo"];//需要分享的图片
    NSURL *urlToShare = [NSURL URLWithString:@"https://famisafe.wondershare.com"];//需要分享的URL
    NSArray *activityItems = @[textToShare, imageToShare, urlToShare];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
    // 禁用分享渠道
    activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
    UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll];
    // 分享之后的回调
    activityVC.completionWithItemsHandler = ^(UIActivityType  _Nullable activityType, BOOL completed, NSArray * _Nullable returnedItems, NSError * _Nullable activityError) {
        if (completed) {
            NSLog(@"成功分享,分享平台%@",activityType);
        }else{
            NSLog(@"取消分享");
        };
    };

    [self presentViewController:activityVC animated:true completion:nil];
}

针对UIActivityType也有很多种可分享类型,具体如下:

该对象将提供的内容发布到Facebook上的用户墙上。
UIActivityType const UIActivityTypePostToFacebook 
该对象将提供的内容发布到用户的Twitter提要。
UIActivityType const UIActivityTypePostToTwitter
  该对象将提供的内容发布到用户的微博上。
UIActivityType const UIActivityTypePostToWeibo       // SinaWeibo
该对象将提供的内容发布到消息应用程序。
UIActivityType const UIActivityTypeMessage    
该对象将提供的内容发布到新的电子邮件中。
UIActivityType const UIActivityTypeMail    
对象打印提供的内容。
UIActivityType const UIActivityTypePrint       
对象将提供的内容复制到粘贴板。
UIActivityType const UIActivityTypeCopyToPasteboard 
对象将图像分配给联系人。
UIActivityType const UIActivityTypeAssignToContact 
对象将图像或视频分配给用户的照相机卷。
UIActivityType const UIActivityTypeSaveToCameraRoll 
对象将URL添加到Safari的阅读列表中。
UIActivityType const UIActivityTypeAddToReadingList
对象将提供的图像发布到用户的Flickr帐户。
UIActivityType const UIActivityTypePostToFlickr     
该对象将提供的视频发布到用户的Vimeo帐户。
UIActivityType const UIActivityTypePostToVimeo 
该对象将提供的内容发布到用户的腾讯微博上。
UIActivityType const UIActivityTypePostToTencentWeibo
该对象通过AirDrop提供所提供的内容。
UIActivityType const UIActivityTypeAirDrop
对象打开iBooks中的内容。
UIActivityType const UIActivityTypeOpenInIBooks
PDF内容
UIActivityType const UIActivityTypeMarkupAsPD

针对不同的Activity类型也有所可以上传的类型 比如 分享的邮件的时候 是不可以上传图片的。具体支持的数据类型如下图。
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值