iOS 系统分享和友盟分享的使用

 

系统的分享:导入

#import <Social/Social.h>

 

 

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    //1. 判断分享类型是否可用

    if (![SLComposeViewControllerisAvailableForServiceType:SLServiceTypeSinaWeibo]) {

        NSLog(@"请先到设置中添加新浪微博账号");

        return;

    }

    

    //2. 创建分享控制器

    SLComposeViewController *composeVC = [SLComposeViewControllercomposeViewControllerForServiceType:SLServiceTypeSinaWeibo];

    

    // 设置预设值

    //2.1 文字

    //二进制  1  10

    [composeVC setInitialText:@"这个世界上有10种人,一种是懂二进制的, 一种是不懂二进制的"];

    

    //2.2 图片

    [composeVC addImage:[UIImageimageNamed:@"dog"]];

    

    //2.3 网址

    [composeVC addURL:[NSURLURLWithString:@"https://www.baidu.com"]];

    

    //3. 弹出分享控制器

    [selfpresentViewController:composeVC animated:YEScompletion:nil];

}

 

 

=================================================================

 

友盟分享:导入

#import "UMSocial.h"

 

#pragma mark 点击分享

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

{

    //注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法

    [UMSocialSnsServicepresentSnsIconSheetView:self

                                         appKey:nil

                                      shareText:@"你要分享的文字"

                                     shareImage:[UIImageimageNamed:@"icon.png"]

                                shareToSnsNames:[NSArrayarrayWithObjects:UMShareToSina,UMShareToWechatSession,UMShareToQQ,UMShareToDouban, UMShareToFacebook,nil]

                                       delegate:nil];

}

 

#pragma mark SSO授权微博登录

- (IBAction)loginClick:(id)sender {

    // 社交分享平台对象 绑定新浪

    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManagergetSocialPlatformWithName:UMShareToSina];

    

    snsPlatform.loginClickHandler(self,[UMSocialControllerServicedefaultControllerService],YES,^(UMSocialResponseEntity *response){

        

        //          获取微博用户名、uid、token等

        

        if (response.responseCode ==UMSResponseCodeSuccess) {

            

            UMSocialAccountEntity *snsAccount = [[UMSocialAccountManagersocialAccountDictionary]valueForKey:UMShareToSina];

            

            NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);

            

        }});

}

 

#pragma mark 获取用户详细信息

- (IBAction)onGetUserInfoClick:(id)sender {

    //获取accestoken以及新浪用户信息,得到的数据在回调Block对象形参respone的data属性

    [[UMSocialDataServicedefaultDataService] requestSnsInformation:UMShareToSina completion:^(UMSocialResponseEntity *response){

        NSLog(@"SnsInformation is %@",response.data);

    }];

 

}

*******问题:

当手机上同一个项目安装多个测试环境时,分享到朋友圈会闪退,因为友盟不知道分享到哪一个。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值