简介:
一直看大牛的文章了,学到很多,也不敢写,怕自己水平有限,写的东西让大家笑话. 最近公司要做简单的分享功能,研究了一天,决定不管自己水平咋样,还是把做过的东西总结一下吧.
一提到分享功能,大部分人都会想到友盟分享和ShareSDk,这两者对各个平台的分享封装的很好,用起来也不是很简单.所有对于简单的一些分享(例如:只有QQ,QQ空间,微信,微信朋友圈)就不用这些框架啦,微信开发平台和腾讯开放平台对分享做的很简单,按照文档操作就行(腾讯开发平台不太好搞啊...).
一.微信和朋友圈分享
1.下载微信sdk:先登录微信开放平台 登录注册账号,下载sdk
2.导入sdk
下载的SDKExport文件
中包含三个主要文件libWeChatSDK.a, WXApi.h, WXApiObject.h,将其导入项目中.并且在Build Phases -> Link Binary With Libraries导入需要的框架
SystemConfiguration.framework, libz.dylib,
libsqlite3.0.dylib, CoreTelephony.framework
1.添加依赖的库3.注册你在微信开放平台得到的key,一般以wx开头
在AppDelegate此方法中注册,导入import "WXApi.h"
2.注册申请的key4.在other linker 中添加 -Objc , -fobjc-arc, -all_load
3.将sdk路径添加到paths5.在info中的RULTypes中添加微信的key ,回调
4.设置url,回调地址
二,使用sdk
在配置完以上步骤,就可以放心使用微信分享功能啦
1.在AppDelegate.m文件中,重写两个方法,用于分享之后,回调到项目中
5.重写方法2.发生分享内容,分享微信好友和微信朋友圈
6.分享的场景 7.分享链接到微信好友微信分享还可以分享文字,图片,音乐,视频等等,官方文档讲解很详细,这就不一一列举啦
三.腾讯开放平台,QQ分享
qq分享文档很是坑啊,13年的,说的也很乱,研究了一天才能成功的实现分享
1.下载腾讯开放平台文档:sdk地址 ,将TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle文件拷贝到应用开发的目录下,注意必须放在项目主文件夹的根目录下,否则会出错。然后将TencentOpenAPI.framework从保存的目录拖动到工程的FrameWorks虚拟目录下.
2.说明文档中强调,在弹出的对话框中勾选“Create groups for any added folders”,去掉“copy items intodestination group’s folder(if needed)”,在Add totargets中选择要加入SDK的target之后点击finish。完成之后就将iOS的SDK的framework文件加入了开发工程中。
3.添加依赖的库:Security.framework,libiconv.2.dylib,SystemConfiguration.framework,
CoreGraphics.Framework,CoreTelephony.framework,libstdc++.dylib,
libz.dylib,TencentOpenAPI.framework。
4 修改工程配置属性
依次选中:项目文件(xcodeproj后缀名文件)-> Info->URL Types.
添加1个URL Type:
Identifier:tencent
URL Schemes:tencent+appId
其中的appId为在QQ互联注册登记的appId,如果是12345,则URL Schemes栏输入:tencent12345。
四.使用QQ分享
1.在AppDelegate.m中导入#import "TencentOAuth.h"头文件,注册appid(官方文档没有说明分享功能,怎样注册appid,这个问题研究了很长才搞定)
8.授权qq2.重新微信中提到的那两个方法,怎么写,截图已经有啦(图5)
3.在需要分享的界面导入
#import "QQApiInterface.h"
#import "QQApiInterfaceObject.h"
#import "TencentMessageObject.h"
9.实现分享添加上面代码,就能实现简单的分享功能啦!
结束语:
本人第一次写简书,漏洞不足一定很多,希望各位大神多多评判指导,如果有问题可以留言哟.
最后留下关于分享学习过的好文章:地址 http://www.jianshu.com/p/e6d3c5928d75?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=qq
网友评论