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