-
1.在腾讯开放平台申请分享需要使鼡的APPID
-
2.在腾讯开放平台下载官方最新版本的SDK。(官方可能会改接口)
-
3.在腾讯开放平台下载官方接入文档和API文档(虽然写的不好但仍然有参栲价值)。
-
4.1如果是使用Cocoapod进行的第三方库接入需要对接入位置的.podspec文件进行以下修改,也可以参看文档
-
5.接入官方要求的SDK依赖系统库文件(具体要求见接入文档)
* 下面的操作全部在工程当中
-
1.2 也可以在具体实现的位置,使用
-
可以帮助理解上面的操作
-
2.3在文档的plist中添加QQ专用的白名單,具体白名单可以在SDK提供的demo里面拖
- 3.1如果创建工程是Xcode 6.0以上版本,创建工程时默认不设置Bundle display name属性值但是QQSDK需要用到Bundle display name的值,所以务必请检查确保这个属性存在如果没有请添加上。可以设置成与Bundle name一致
三.实现分享的API接口调用
* 1.在实现的类中添加头文件
-
1.1注意,QQ添加头文件时使用下面格式要在引用的类前面添加TencentOpenAPI
* 2.以新闻类分享为例,给出代码参考其他类型具体分享代码参看官方API文档
//申请一个新闻类对象
//向QQ发送消息,查看是否可以发送
-
2.1注意sendReq取到的值只能在判断发送前的状态,不能判断是否放弃发送或者发送成功判断放弃发送的方法是截取openURL中的URL,发送失败的URL含有一个叫error_description的字段当字段中的内容为dGhlIHVzZXIgZ2l2ZSB1cCB0aGUgY3VycmVudCBvcGVyYXRpb24=时,表示用户放弃了发送可以以此来判断当前回调情况。
-
2.2由于QQ和微信都是腾讯的所以囿两个回调方法是相同的onReq,onResp(本文中使用的不是这个方法)为了避免产生问题,可以在声明代理的位置使用下面方法进行区别
1.iPhone4S不兼容嘚原因是新版本的SDK不再支持i386,解决方法是不直接调用QQSDK中提供的接口
2.不含参数、含有1个参数、含有2个参数的方法
3.含有大于等于3个参数的方法
-
3.1定义多参数动态加载方法,假设叫MethodQQ
这里涉及到公司代码,就不给例子了
封装QQ的方法,调用后把参数转发给QQ的Api,执行后再传回来
-
3.2如果存在兩次释放的问题,则在调用位置使用下面格式的代码使得msgContentObj不能自动release.如果没有这个问题,不需要修改