iOS做新浪微博sso授權登錄遇到的一些坑


 

新浪微博sso授權第三方登錄,這里沒有借助第三方框架,如shareSKD和友盟等,直接參考新浪官方SDK和文檔。

 

過程中遇到幾個坑,找了很久,好歹最后解決了,記錄如下

問題1:

_NSInlineData base64EncodedString - unrecognized selector sent to instance 報錯

這個坑編譯是看不出來的,可以通過,運行時,直接閃退了,蹦~

解答:

這里我之前也試過第三方框架做新浪授權登錄,也會遇到此問題,所以這個還是新浪自己SDK的坑,與第三方框架無關。

最后解決:在build settings ->other linker flags  ->添加-all_load

吐槽下,官方文檔上,讓家-objc,沒卵用啊。。。

這里要注意下,如果還不行,最好嚴格按照官方文檔把相應framework加全了,具體參考《微博iOS平台SDK文檔V3.1.4》https://github.com/sinaweibosdk/weibo_ios_sdk

 

問題2:

好了,這個坑糾結很久,終於可以運行了,打開都正常,點擊新浪登錄,理論上直接彈出提示:應用想打開微博,下面可以選取取消、確定

但實際上是跳刀了網頁登錄,並沒有sso打開微博APP,並且打印一大堆日志,錯誤如下:

-canOpenURL: failed for URL: "sinaweibo" - error:"This app is not allowed to query for scheme xx

-canOpenURL: failed for URL: "weibosdk" - error:"This app is not allowed to query for scheme xx

總共好幾行,解決辦法是:在info.plist里添加一個屬性:LSApplicationQueriesSchemes,並設置內容

添加完,就可以正常授權了。

 

授權后回得到uid和accessToken,再自己去新浪調取用戶接口就可以得到用戶信息了,昵稱、城市、頭像什么的。。。

 

 

結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM