文档章节

iOS 分享到qq好友,qq空间,微信好友,微信朋友圈,新浪微博

山里来的
 山里来的
发布于 2016/05/14 14:43
字数 667
阅读 51
收藏 0

都是单独的分享功能 没有使用shareSdk,mob等第三方

首先你都必须要在appdelegate注册key

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];   [self tabBarController];
    //微信
    [WXApi registerApp:WX_key]; 
    //腾讯
    _tencentOAuth = [[TencentOAuth alloc]initWithAppId:QQ_key andDelegate:self];
    //微博
    [WeiboSDK registerApp:WB_key];
    
    return YES;
}
// 处理回调

- (BOOL)application:(UIApplication *)application handleOpenURL:(nonnull NSURL *)url{
    
    if (YES == [TencentApiInterface handleOpenURL:url delegate:self])
    {
      return  [TencentApiInterface handleOpenURL:url delegate:self];
    }
    
    if (YES == [WXApi handleOpenURL:url delegate:self])
    {
        return [WXApi handleOpenURL:url delegate:self];
    }
    
    if ([WeiboSDK handleOpenURL:url delegate:self]) {
        return [WeiboSDK handleOpenURL:url delegate:self];
    }
    return YES;


  }

- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options{
    
    if (YES == [TencentApiInterface canOpenURL:url delegate:self])
    {
        return  [TencentApiInterface canOpenURL:url delegate:self];
    }
    
    if(YES == [WXApi handleOpenURL:url delegate:self]){
        return [WXApi handleOpenURL:url delegate:self];
    }
    
    if ([WeiboSDK handleOpenURL:url delegate:self]) {
        return [WeiboSDK handleOpenURL:url delegate:self];
    }
    return YES;
   
}
  1. 分享到qq (官方文档写了OAuth授权,是实现了网页版分享)
// qq好友
- (void)shareByQQFriend{
    
   NSData *imgData = UIImagePNGRepresentation([UIImage imageNamed:@"shareLog.png"]);
    QQApiImageObject *imgObj = [QQApiImageObject objectWithData:imgData
                                               previewImageData:imgData
                                                          title:@"标题"
                                                    description:@"分享描述"];
    SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:imgObj];
    //将内容分享到qq
    QQApiSendResultCode sent = [QQApiInterface sendReq:req];
    [self handleSendResult:sent];
}

// qq空间
- (void)shareQQZone{

    NSString *utf8String = @"http://www.imspore.com";
    NSString *title = @"qq空间分享";
    NSString *description = @"描述";
    NSString *previewImageUrl = [_shopDetailsDic[@"productLinkAddress"] firstObject];
    QQApiNewsObject *newsObj = [QQApiNewsObject
                                objectWithURL:[NSURL URLWithString:utf8String]
                                title:title
                                description:description
                                previewImageURL:[NSURL URLWithString:previewImageUrl]];
    SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];

    //将内容分享到qzone
    QQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];
    [self handleSendResult:sent];
}
  1. 分享到微信
// 发给微信好友
- (void)shareByWXfirends{

  
    WXMediaMessage *message = [WXMediaMessage message];
    message.title = @"分享给你一个好消息";
    message.description = @"描述";
    [message setThumbImage:[UIImage imageNamed:@"shareLog.png"]];
    
    WXWebpageObject *ext = [WXWebpageObject object];
    ext.webpageUrl = @"http://www.imspore.com";
    
    message.mediaObject = ext;
    
    SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    req.scene = WXSceneSession;
    
    if ([WXApi sendReq:req]){
        NSLog(@"分享成功");
    }else{
        NSLog(@"分享失败");
    }
    
}

// 分享朋友圈
- (void)shareByWXCycle{
    WXMediaMessage *message = [WXMediaMessage message];
    message.title = @"分享的标题";
    message.description = @"分享的描述";
    [message setThumbImage:[UIImage imageNamed:@"shareLog.png"]];
    
    WXWebpageObject *ext = [WXWebpageObject object];
    ext.webpageUrl = @"http://www.imspore.com";
    
    message.mediaObject = ext;
    
    SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    req.scene = WXSceneTimeline;//微信朋友圈
    
    [WXApi sendReq:req];

}
  1. 分享到新浪微博
- (void)shareBySinaWB{
    
    WBMessageObject *message = [WBMessageObject message];
    message.text = @"我是测试文字";
    WBImageObject *image = [WBImageObject object];
    image.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"shareLog.png"]);
    message.imageObject = image;
    
    WBSendMessageToWeiboRequest *request = [WBSendMessageToWeiboRequest requestWithMessage:message];
    request.userInfo = @{@"ShareMessageFrom": @"111",
                         @"Other_Info_1": [NSNumber numberWithInt:123],
                         @"Other_Info_2": @[@"obj1", @"obj2"],
                         @"Other_Info_3": @{@"key1": @"obj1", @"key2": @"obj2"}};
    [WeiboSDK sendRequest:request];
    
}

记得要去设置 URL Scheme 记得要去设置 URL Scheme

关于iOS9 需要设置白名单 在“Info.plist”里增加如下代码

<key>LSApplicationQueriesSchemes</key>
 <array>
    <!-- 微信 URL Scheme 白名单-->
    <string>wechat</string>
    <string>weixin</string>

    <!-- 新浪微博 URL Scheme 白名单-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>sinaweibosso</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>

    <!-- QQ、Qzone URL Scheme 白名单-->
    <string>mqqapi</string>
    <string>mqq</string>
    <string>mqqOpensdkSSoLogin</string>
    <string>mqqconnect</string>
    <string>mqqopensdkdataline</string>
    <string>mqqopensdkgrouptribeshare</string>
    <string>mqqopensdkfriend</string>
    <string>mqqopensdkapi</string>
    <string>mqqopensdkapiV2</string>
    <string>mqqopensdkapiV3</string>
    <string>mqzoneopensdk</string>
    <string>wtloginmqq</string>
    <string>wtloginmqq2</string>
    <string>mqqwpa</string>
    <string>mqzone</string>
    <string>mqzonev2</string>
    <string>mqzoneshare</string>
    <string>wtloginqzone</string>
    <string>mqzonewx</string>
    <string>mqzoneopensdkapiV2</string>
    <string>mqzoneopensdkapi19</string>
    <string>mqzoneopensdkapi</string>
    <string>mqzoneopensdk</string>

    <!-- 支付宝  URL Scheme 白名单-->
    <string>alipay</string>
    <string>alipayshare</string>

</array>

© 著作权归作者所有

共有 人打赏支持
山里来的
粉丝 8
博文 99
码字总数 18694
作品 0
长沙
私信 提问
友盟社会化组件3.0

友盟社会化组件帮助移动应用分享到微博,微信,朋友圈,QQ好友等社交平台,已开发至3.0版,经过1.0~3.0的数十次迭代以及数以千计的合作APP上线,已趋于稳定与完善。 社会化组件:社会化组件...

gongweixin1990
2013/09/22
23
0
如何在应用中集成新浪微信等分享功能

友盟社会化组件帮助移动应用分享到微博,微信,朋友圈,QQ好友等社交平台,已开发至3.0版,经过1.0~3.0的数十次迭代以及数以千计的合作APP上线,已趋于稳定与完善。 社会化组件:社会化组件...

陈彧堃
2013/09/22
1K
0
Phonegap各类商业插件

【Phonegap商业插件服务】[目前插件已经支持到Phonegap最新版本] 1.phonegap-百度社会化分享-andriod插件 v2.0 【该插件支持微信分享和朋友圈分享,qq好友分享,微博分享】 2.phonegap百度社...

夜澜小雨
2015/07/15
1K
0
微信更新7.0版本啦,你后悔更新吗?

关键词:微信更新7.0 微信7.0来了 时隔4年的最大升级! 赶紧更新起来 微信,如今已经是好多同学日常生活中的一部分,好多同学社交、通信、娱乐、支付通通用它,天天都熟悉的面孔,突然之间就...

云蚁cloudant
2018/12/25
0
0
ShareREC简单易用功能强大的手游录像工具

ShareREC可实现手机游戏内自带录像并分享功能,下载地址:http://rec.mob.com/Download 1、支持手游录像功能,游戏过程中可同步录制游戏视频 2、支持分享到主流社交平台,新浪微博、微信好友...

lanis
2014/12/23
173
0

没有更多内容

加载失败,请刷新页面

加载更多

《货币商人》读后感作文选登3800字

《货币商人》读后感作文选登3800字: 领导之法、管理之术的大智慧与小技巧(宝安支行纪委书记葛希) 非常感谢夏书记向我们推荐了这本《货币商人》。这本书我读第一遍时惊现它像一个宝藏,蕴藏...

原创小博客
29分钟前
1
0
面试之ssm粗略简答

说实在的,spring源码对我来说可能就是报错的时候会一个个点进去找错误源头,其他都是为了让自己学习大神们优秀的编程思想和理念(顺便面试的时候吹吹牛皮~) 这次zhjj就直接抛了一个范围很...

无极之岚
30分钟前
2
0
史上最强Dubbo面试25题含答案详解:核心组件+架构设计+服务治理等

1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两...

mikechen优知
54分钟前
2
0
如何正确的选择云数据库?

本文由云+社区发表 作者:数据库 江湖传说在选择和使用云数据库过程中 10个人有9个会遇到以下问题: 数据库正常使用过程中莫名卡顿 经常遭遇主从延迟和主从不一致 不知如何实现无损跨云跨数据...

腾讯云加社区
55分钟前
1
0
虚拟机下centos7.x简易命令大全与试玩体验

OS: liunx version: centos7.x date: 2019-01-18 1. cd / : 进入服务器根目录 2. cd .. : 进入当前目录的上一级 3. ls : 显示当前目录下的所有文件夹或文件(list的缩写) 4. ip addr : 展示服...

皇冠小丑
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部