这里没有使用是三方分享,如shareSDK 。
step1.
step2.
将iOS SDK中的TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle 放进工程。
添加SDK依赖的系统库文件。
分别是
”Security.framework”,
“libiconv.dylib”,
“SystemConfiguration.framework”,
“CoreGraphics.Framework”、
“libsqlite3.dylib”、
“CoreTelephony.framework”、
“libstdc++.dylib”、
“libz.dylib”。
step3:配置信任白名单和设置schemes(用于从qq应用返回APP)
设置schemes
step4
代码,在点击事件调用如下方法。
// 发送纯文本
- (void)shareWithText {
if (![TencentOAuth iphoneQQInstalled]) {
NSLog(@"请移步App Store去下载腾讯QQ客户端");
}else {
// 这里要先授权,QQ的文档里面貌似没写
self.tencentOAuth = [[TencentOAuth alloc] initWithAppId:QQAPPID
andDelegate:self];
QQApiTextObject *newsObj = [QQApiTextObject objectWithText:@"QQ分享到好友列表的测试!"];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];
NSLog(@"haha - %d",[QQApiInterface sendReq:req]);
}
}
// 发送图片文字链接
- (void)showMediaNewsWithScene:(int)scene {
if (![TencentOAuth iphoneQQInstalled]) {
NSLog(@"请移步App Store去下载腾讯QQ客户端");
}else {
self.tencentOAuth = [[TencentOAuth alloc] initWithAppId:QQAPPID
andDelegate:self];
QQApiNewsObject *newsObj = [QQApiNewsObject
objectWithURL:@"www.baidu.com"
title:@"李易峰撞车了"
description:@"李易峰的兰博基尼被撞了李易峰的兰博基尼被撞了李易峰的兰博基尼被撞了"
previewImageURL:imageURL];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];
if (scene == 0) {
NSLog(@"QQ好友列表分享 - %d",[QQApiInterface sendReq:req]);
}else if (scene == 1){
NSLog(@"QQ空间分享 - %d",[QQApiInterface SendReqToQZone:req]);
}
}
}
总结:这里只做简单的实现,抛砖引玉(个人更偏向使用qq提供的接口),更多丰富操作就可以参考以下文档: