第三方社交分享安全
一、使用系統自帶的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):
發送完成後,回調的方法和新浪微博執行的方法同樣,只不過回調的協議方法不同,自行參考代理中的方法