文档章节

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

山里来的
 山里来的
发布于 2016/05/14 14:43
字数 667
阅读 37
收藏 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
博文 95
码字总数 17498
作品 0
长沙
ShareSDK超级强大的社会化分享

主要功能: 1、支持分享到新浪微博、微信好友、微信朋友圈、QQ好友、腾迅微博、QQ空间、人人网、开心网、豆瓣、搜狐微博、网易微博、短信、邮件、打印、拷贝等,即将支持印象笔记、facebook、...

陈钢强
2013/03/26
1K
2
移动APP社会化分享组件--ShareSDK

介绍: ShareSDK是为iOS的APP提供社会化功能的一个组件,开发者只需10分钟即可集成到自己的APP中,它不仅支持如QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、f...

刘丹liudan
2013/01/20
9.8K
4
Java转iOS-第一个项目总结(1)

0.前言 本人14年12月份,从网站开发组转到了移动开发组,自己的java两年半工作经验变成了objective-c零经验。2015年1月份新启动了一个移动项目,年后因为人事变动,自己从辅助开发变成了"核心...

蛙牛
2015/03/31
0
67
Kiwi:来自xda-developers拥有暗色主题的超快速Chrome浏览器

据外媒报道,几乎在移动软件商城刚出现的时候就形成了这样一个现象:比起Android第三方应用程序开发人员更倾向于iOS。这种差异不仅发生在移动平台早期并且一直持续到现在。尽管Android在全球...

稿源:cnBeta.COM
06/24
0
0
[图]iOS端Chrome发现UI升级入口:融入Material Design元素

近年来谷歌不断在自家产品和服务中融入Material Design设计元素,而且整个升级步伐在今年明显提速。自今年4月份Gmail获得重大更新开始,Google Maps、Google News、Tasks以及Chrome Canary通...

稿源:
07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
26分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
28分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
30分钟前
3
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
34分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部