iOS 学习 - 13.微信分享链接、QQ 分享图片
准备工作---原文来自这个
首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里
如果你是 copy 在自建 group 里面,
1.需要在 Build Phases - Link Binary With Libraries 里面 .a 文件,TencentOpenApi_IOS_Bundle.bundle、TencentOpenAPI.framework
2.在 Copy Bundle Resources add .h 文件
3.在 Bulid Settings - Library Search Paths "+" sdk 路径
4.加入库和框架
SystemConfiguration.framework
libz.dylib
libsqlite3.0.dylib
CoreTelephony.framwork
libc++.dylib
如果 copy 在自带 group 里面,则不需要,已经自动配置好
AppDelegate.h ,import "WXApi.h" 和 遵守协议
5.Info 下面添加 URL Types
6.添加白名单
代码片段:
#import <UIKit/UIKit.h>
#import "WXApi.h" @interface AppDelegate : UIResponder <UIApplicationDelegate,WXApiDelegate> @property (strong, nonatomic) UIWindow *window; @end
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 注册id
[WXApi registerApp:WXappid];
return YES;
} //重写 handleOpenURL
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
return [WXApi handleOpenURL:url delegate:self] || [TencentOAuth HandleOpenURL:url];
}
NEW 一个分享的 View,包含背景图和四个分享按钮
显示主要代码:
#pragma mark -- 微信分享的是链接
- (void)wxShare:(int)n
{ //检测是否安装微信
if (![WXApi isWXAppInstalled]) {
NSLog(@"Not installe weixi");
[self alert:@"Not installe weixi"];
}else{
SendMessageToWXReq *sendReq = [[SendMessageToWXReq alloc]init];
sendReq.bText = NO; //不使用文本信息
sendReq.scene = n; //0 = 好友列表 1 = 朋友圈 2 = 收藏 WXMediaMessage *urlMessage = [WXMediaMessage message];
urlMessage.title = KLinkTitle;
urlMessage.description = KLinkDescription; UIImage *image = [UIImage imageNamed:@"maliao"];
//缩略图,压缩图片,不超过 32 KB
NSData *thumbData = UIImageJPEGRepresentation(image, 0.25);
[urlMessage setThumbData:thumbData];
//分享实例
WXWebpageObject *webObj = [WXWebpageObject object];
webObj.webpageUrl = KLinkURL; urlMessage.mediaObject = webObj;
sendReq.message = urlMessage;
//发送分享
[WXApi sendReq:sendReq];
}
} #pragma mark QQ 分享的是图片
- (void)qqShare:(BOOL)flag
{ //检测是否安装 QQ
if (![TencentOAuth iphoneQQInstalled]) {
NSLog(@"请移步 Appstore 去下载腾讯 QQ 客户端");
[self alert:@"请移步 Appstore 去下载腾讯 QQ 客户端"];
}else{ _tencent = [[TencentOAuth alloc]initWithAppId:QQappid andDelegate:self];
UIImage *image = [UIImage imageNamed:@"maliao"];
//QQ 分享图片不超过 1M ,没有压缩的必要
NSData *data = UIImagePNGRepresentation(image);
QQApiImageObject *imgObj = [QQApiImageObject objectWithData:data
previewImageData:data
title:KLinkTitle
description:KLinkDescription]; SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:imgObj];
//因为分享的是联系人和空间的结合体,下面的判断其实多此一举
if (!flag){
//分享好友
QQApiSendResultCode code = [QQApiInterface sendReq:req];
NSLog(@"%d",code);
}else{
//分享空间
[QQApiInterface SendReqToQZone:req];
}
}
}
具体代码,见 github
转载注明出处:http://www.cnblogs.com/asamu/p/5479537.html
iOS 学习 - 13.微信分享链接、QQ 分享图片的更多相关文章
- 微信分享缩略图,如何增加微信朋友圈分享链接的小图片? facebook、google+、twitter等分享的标签
微信分享缩略图 如何增加微信朋友圈分享链接的小图片?在网页的头部<head>标签内加上以下代码,图片路径自行修改.<head><div id='wx_pic' style ...
- Android 微信分享与QQ分享功能
微信分享与QQ分享功能现在都挺常见的,可以根据一些第三方社会化分功能快速实现,不过多多少少都不怎么纯净,最好都是自己看官方文档来实现就最好了~ 一.微信分享 微信分享功能需要先在微信开放平台注册应用并 ...
- apiCloud 三方分享,微信好友分享,微信朋友圈分享,QQ分享,微博分享
首先查看我的这篇有关三方登录的博客,地址是http://www.cnblogs.com/gqx-html/p/8303567.html,配置完三方数据后可以从上一篇文章中的链接跳转到各个登录查看api ...
- iOS学习13之OC NSString类
C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...
- h5怎么做分享到QQ 、朋友圈、微信 、微博等功能
微信已经成为我们日常聊天联系基本的必备工具,所以小菜我首先介绍一下如何调用微信的分享功能.其实除了可以在微信上分享到朋友圈和发送给好友,微信的分享接口还提供了分享到QQ和分享到腾讯微博等,就是在页面的 ...
- iOS开发之第三方分享QQ分享,史上最新最全第三方分享QQ方式实现
本文章源码地址: https://github.com/zhonggaorong/QQLoginDemo 项目搭建参考: (包含QQ登录源码下载 . QQ sdk集成) http://blog.cs ...
- 微信公众号的分享接口,分享提示config:fail,invalid signature的解决办法(2017年12月)
微信中打开网页,使用微信右上角菜单中自带的分享功能的经历及总结: 最开始,微信分享页面时,直接读取页面的标题(title)和页面中的第一张符合条件的图片[此种方式在2017-03-29之前管用,这一天 ...
- c#微信开发,使用JS-SDK自定义分享功能,分享朋友圈,分享给朋友等
如果一个后端开发掌握了微信开发,甚至有微信开发上线项目,这在换工作的时候 还是有竞争力的. 微信开发的资料很多,但是用asp.net c#进行微信开发好像比较少,或者资料不够完整. 使用JS-SDK自 ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
随机推荐
- 利用jstree插件轻松构建树应用
最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树, ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(二)ConnectionInfo
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 为什么我不建议你做APP?
最近迷上了新产品的可行性分析和推演. 有几个朋友也准备跳入创业火坑了,找到我说帮忙做做产品分析和可行性讨论,欣然应允. 我一向厌恶纯凭感觉拍脑袋的方式,所以对于我不了解的行业,都会从行业背景.现状痛点 ...
- OC基础数据类型-NSData-NSMutableData-NSString
NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛.NSData创建后不可以再修改,NSMutableData可以再次修改. 1.NSStrin ...
- jquery基本选择器匹配多个元素
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 鼠标向下滑动加载div
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【Java每日一题】20161207
package Dec2016; public class Ques1207 { public static void main(String[] args) { new Test(); new Te ...
- 【Java每日一题】20161115
package Nov2016; import java.io.Serializable; public class Ques1115 implements Serializable{ private ...
- [测试] Firemonkey Android 照相自订分辨率测试
在 Delphi 10 Seattle 提供了照相及相册自订分辨率的功能,请见官方网站教学: http://docwiki.embarcadero.com/RADStudio/Seattle/en/T ...
- Firemonkey 移动平台 Form 显示使用 ShowModal 范例
procedure TForm1.Button1Click(Sender: TObject); begin Form2 := TForm2.Create(Self); Form2.ShowModal( ...