第三方社交分享
1、使用系统自带的Social.framework分享,iOS6之后苹果集成了新浪微博、iOS7之后苹果集成了腾讯微博
2、使用各个平台的官方SDK,并针对各个平台编写各自的分享代码。优点:可控程度高、占用安装包空间小。缺点:代码量相对较多
3、使用第三方集成好的分享SDK,比如:umeng、ShareSDK
本文主要讲述下第二种方法:
1、准备工作:首先,要在各个开放平台申请账号,注册应用,获得相应的appkey、appSecret
新浪微博开放平台:http://open.weibo.com/
微信开放平台:https://open.weixin.qq.com/
2、下载对应平台的SDK,并集成到项目中(微信暂不支持cocoapods,微博支持cocoapods)
3、在项目的info.plist中添加URL types(为了让第三方应用能够通过scheme打开app):id是网站中填写的应用回调url;scheme是“wb+appkey”
4、此步是适配iOS9+系统需要设置的参数,由于iOS9之后苹果对app访问数据的安全性做了提高,需要在info.plist中添加新浪微博白名单“LSApplicationQueriesSchemes”,才能在app中打开新浪微博客户端。
这里有一些常用的第三方应用的白名单:http://www.jianshu.com/p/a8cce94d508e
5、编写对应平台的分享代码:
新浪微博分享代码:
导入微博SDK头文件:"WeiboSDK.h"
在Appdelegate中实现协议:WeiboSDKDelegate
发送纯文字内容分享:
发送图片加文字分享(图片不能超过10M):
如果客户端安装了微博客户端,直接跳转到客户端进行分享,如果没安装,则在app内弹出登录、分享页面。
分享成功、取消后,回调下面两个方法的其中一个(针对不同iOS版本):
在上图中的方法设置delegate后,并实现响应的方法
微信分享代码
导入微信SDK头文件:“WXApi.h”
在AppDelegate中实现协议:“WXApiDelegate”
发送纯文字内容到微信:
发送多媒体内容到微信(微信分享的缩略图最大不能超过32k):
发送完成后,回调的方法和新浪微博执行的方法一样,只不过回调的协议方法不一样,自行参考代理中的方法
原文链接:http://www.jianshu.com/p/1e514385d441
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。