前言
很多產品的設計的時候都加入了分享到第三方平臺的功能小泉,以便捷用戶的操作和擴大產品的影響力范圍。往往配置的平臺不止一兩個冕杠,去一個個下載官方SDK下來再去配置微姊,工作量也是不少了。Mob平臺下的ShareSDK
產品就為了解決了這些問題分预,極大的方便了開發(fā)者在App中接入第三方平臺兢交。
為什么選擇ShareSDK?
具體原因有以下幾個:
- 支持
40+
主流社交平臺笼痹。 - 需要處理的業(yè)務邏輯極大的減少了配喳。
- 分享處理結果回調。
- 節(jié)省了開發(fā)者自己配置
Universal Link
的工作量与倡,無需自己搭建服務器界逛。
接入過程
- 官網賬號注冊、登錄纺座。
- 創(chuàng)建應用息拜。
- 各個平臺AppKey申請。參考文檔
- 客戶端接入净响。請參考文檔, 這里不再贅述少欺。
- 分享配置。
主要配置的是Universal Link
相關內容:
如圖所示馋贤,需要填上蘋果開發(fā)賬號
Team ID
赞别、應用Bundle ID
、以及申請到的QQ App ID
配乓,就會自動生成圖中紅框部分的內容仿滔。紅色框部分分別是需要我們在Xcode、微信開放平臺犹芹、QQ互聯平臺需要配置的崎页。
遇到的坑
1、分享PlatformType配置不正確
結果描述:
微信分享部分:分享給好友成功腰埂,分享到朋友圈失敗飒焦。
問題處理:
在調起分享函數的時候,需要傳入一個platformType的字段屿笼,使用過官方SDK的時候牺荠,自然而然的想到的是
SSDKPlatformTypeWechat
翁巍。之前的問題代碼如下:
分享到朋友圈會失敗,并沒有調起微信跳轉休雌,報錯信息如下:
Error Domain=ShareSDKErrorDomain Code=200101 "(null)" UserInfo={error_code=200101, description=參數錯誤:text}
最后請教了官方技術支持后才定位到問題灶壶,這里需要傳的是PlatformSubType
,即SSDKPlatformSubTypeWechatSession
和SSDKPlatformSubTypeWechatTimeline
杈曲。
這些都同屬于SSDKPlatformType
枚舉類型例朱,如果沒有特殊說明,很難誤用導致分享失敗鱼蝉。
2、綠洲SDK 1.0.3不支持Bitcode
綠洲是微博去年8月份新出的產品箫荡,參考資料不多魁亦,只有一個官方發(fā)表的微博文檔。
我們的項目開啟了Bitcode
進行編譯優(yōu)化羔挡,并且其他引用的Framework
也都支持Bitcode
洁奈,但是綠洲SDK不支持,最簡便的處理方式就是將其關閉掉绞灼,不然在編譯的時候會有錯誤:
但是關掉Bitcode
難免遺憾利术,于是便根據文檔上留的聯系方式聯系了綠洲SDK的相關負責人,讓他們重新打了一個SDK(1.0.4)出來,替換掉ShareSDK
中的OasisSDK
低矮。
雖然可以正常編譯的印叁,但在導出ipa包的時候出錯了。
查看日志军掂,發(fā)現是包含了x86_64
框架:
x86_64
是在模擬器上運行的框架轮蜕,但是模擬器上也沒法進行分享測試,移除掉不需要的框架蝗锥。命令如下:
cd OasisSDK.framework
lipo -remove x86_64 OasisSDK -o OasisSDK
重新編譯打包跃洛,完美解決!??
參考資料
Apple Universal Link文檔
URL Scheme和Universal Link的區(qū)別
蘋果驗證通用鏈接是否可用的網站