集成qq、qq空间,微信分享记录

一、qq、qq空间分享

写在前面

集成过程参考至:http://www.jianshu.com/p/388a1f1c990e 流程详细,感谢分享

以下记录自己注意的几个点:

1、首先导入腾讯SDK: TencentOpenApi_IOS_Bundle.bundle 、TencentOpenAPI.framework两个文件


屏幕快照 2017-04-26 下午4.05.20.png

2、此时编译会报错,原因是有几个依赖库需要导入

屏幕快照 2017-04-26 下午4.17.48.png

导入如下静态库即可编译通过:

屏幕快照 2017-04-26 下午4.21.47.png

3、在AppDelegate中
1)didFinishLaunchingWithOptions方法中向腾讯注册:

//腾讯源文件
#import <TencentOpenAPI/TencentOAuth.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //腾讯注册 .  @"1234567891" 该串为申请的AppId
    [[TencentOAuth alloc] initWithAppId:@"1234567891" andDelegate:nil];   
    return YES;
}

2)同样在AppDelegate中重写两个回调url方法,(暂时不知道作用)

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
    
    return [TencentOAuth HandleOpenURL:url];
}

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    
    return [TencentOAuth HandleOpenURL:url];
}

4、分享后回到本应用
以上设置过后便可以成功分享至qq,但是分享过后不能顺利返回自己的应用,还需在
TARGETS -> Info -> URL Types 中,添加如下:


屏幕快照 2017-04-26 下午5.44.18.png

URL Schemes为 tencent+appId

5、分享新闻类信息至qq具体实现:

-(void)shareToQQ{
    //定义分享信息
    //要分享信息的url
    NSString *urlStr = @"https://www.baidu.com";
    //要分享信息的标题
    NSString *title = @"分享标题";
    //要分享信息的详细描述
    NSString *description = @"分享详情";
    //要分享信息图片的data
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"shareImage" ofType:@"png"];
    NSData *data = [NSData dataWithContentsOfFile:imagePath];
   
    //创建分享新闻实例(还有个previewImageURL方法,传显示的图片的url)
    QQApiNewsObject *newsObj = [QQApiNewsObject objectWithURL:[NSURL URLWithString:urlStr] title:title description:description previewImageData:data];
    newsObj.shareDestType = ShareDestTypeQQ;
   
    //去分享
    SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];  
    // 其中sentQQ中会返回编码,可以查看是否成功或者失败原因
    QQApiSendResultCode sentQQ = = [QQApiInterface sendReq:req];
    
}

6、分享新闻类信息至qq空间具体实现:(前面都同分享至qq一致,最后一句改成如下代码:)

QQApiSendResultCode sentQQ = [QQApiInterface SendReqToQZone:req];

二、微信接入

1、集成微信API,我是用cocoapod:

pod 'WechatOpenSDK'

2、在AppDelegate中
1)didFinishLaunchingWithOptions方法中向腾讯注册:

//腾讯源文件
#import "WXApi.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //微信注册 .  @"wxf123456a12345d02" 该串为申请通过后微信给的的AppId
    [WXApi registerApp:@"wxf123456a12345d02"];   
    return YES;
}

2)同样在AppDelegate中重写两个回调url方法,这里要遵守微信的 WXApiDelegate 代理,并实现 onReq: 方法


@interface AppDelegate ()<WXApiDelegate>

@end

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
    return [WXApi handleOpenURL:url delegate:delegate];
}

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    return [WXApi handleOpenURL:url delegate:delegate];
}

#pragma mark 微信的回调,该方法用一定要实现,否则分享后回不到自己的应用
-(void)onReq:(BaseReq*)req{
    
    NSLog(@"%@",req);
}

3、然后同上面qq第4步一样,还需在 TARGETS -> Info -> URL Types 中,添加如下:

屏幕快照 2017-04-28 上午11.22.53.png

4、具体分享至微信代码

-(void)shareToWechat{
    
    //1、设置分享信息message
    WXMediaMessage *message = [WXMediaMessage message];
    message.title = @"分享标题";
    message.description = @"分享详情表述";
    //设置分享预设图片的data,也可以用setThumbImage方法
    [message setThumbData:data];
    //设置分享的链接地址
    WXWebpageObject *ext = [WXWebpageObject object];
    ext.webpageUrl = @"https://www.baidu.com";
    message.mediaObject = ext;

    //2、构建分享示例
    SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    //分享场景,是一个枚举,0是分享至微信会话,1是分享至朋友圈
    req.scene = 0;
    
    //3、去分享
    [WXApi sendReq:req];

}

至此就可以顺利的分享和回调啦

//微信接入
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417694084&token=&lang=zh_CN


三、微博的接入

步骤与前面类似,不做赘述,说明下不一样的地方:
1、在AppDelegate中要多实现一个回调方法

#pragma mark 微博需要实现系统的这个回调方法
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
   //这里本来是调用微博的回调[WeiboSDK handleOpenURL:url delegate:delegate];
  //[ShareModel handleOpenURL:url delegate:self] 是domo中封装好的,所以这里用这个
    return [ShareModel handleOpenURL:url delegate:self];
}

2、另外同样在AppDelegate中多现实两个微博的回调,要处理的操作可以放在这两个方法中,具体微博demo有示例

#pragma mark 两个微博的回调,要实现
- (void)didReceiveWeiboRequest:(WBBaseRequest *)request
{
    
}

- (void)didReceiveWeiboResponse:(WBBaseResponse *)response
{
    
}

3、微博在没安装的情况下会调起网页访问,因此要注意更改info.plist中 http的安全限制以及增加微博白名单

屏幕快照 2017-05-03 上午10.50.05.png

屏幕快照 2017-05-03 上午10.49.24.png

这里包括了qq、微信、微博的白名单


四、分享的封装

Demo地址:
https://github.com/GongJun-Huang/ThirdShare

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容