iOS开发-系统级分享

最近开发用到了系统级的分享,当然,一般来说有很好的第三方,我们是不会直接来用系统级的分享的,那系统级别的分享怎么用呢?博主看了网上的一些东西,无非都是UIActivityViewController或是简单的封装一下,这里简单说一下UIActivityViewController的优点和缺点:
优点:代码简易,使用简单,可复制,可分享,使用一些系统级别的功能,它长这样。
这里写图片描述
缺点:例如邮件,短信的分享功能是必有的,属于系统级别的功能,但是如果要加入QQ,微信等等一些第三方平台就没那么容易了,需要使用第三方平台的API来自己集成到里面,虽然我们所见到的第三方也是在平台上下载集成文件进行封装的,不过那不需要我们自己去集成。还有一些应用如果在手机上绑定了,比如facebook,新浪微博等等,是会显示出来的,但是这个绑定就比较难琢磨了,可能跟应用本身的某些设置有关:
这里写图片描述
图中圈起来的是博主手机上可以绑定的应用,不明白为什么会是这几个。不过满足一般需求来说还是够的。
下面上代码:

//信息
 NSString *messageShare = shareMessage;
//分享链接(图片也可以的,有需要的自己加,格式都是一样的)
NSString *urlSHare = [NSURL URLWithString:shareURL];
NSArray *activityItems = @[messageShare,urlSHare];

    UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
    //弹出分享的VC
    [self presentViewController:activityVC animated:YES completion:nil];

    //回调,截取成功和取消的信号
    UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,BOOL completed)
    {
        NSLog(@"activityType :%@", activityType);
        if (completed)
        {
            NSLog(@"completed");
        }
        else
        {
            NSLog(@"cancel");
        }

        //操作成功或者取消后都会回上一级界面
        [self.navigationController dismissModalViewControllerAnimated:YES];

    };

    // 初始化completionHandler,当操作结束之后无论成功还是取消该block都会被调用
    activityVC.completionHandler = myBlock;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingFire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值