zoukankan      html  css  js  c++  java
  • 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,再自己去新浪调取用户接口就可以得到用户信息了,昵称、城市、头像什么的。。。

    结束。

  • 相关阅读:
    Robot Framework自动化测试(六)--- robotremoteserver使用
    PHP实现简易blog
    Pillow实现图片对比
    Django快速开发之投票系统
    web接口测试之GET与POST请求
    接口测试实践
    Python单元测试框架之pytest -- 断言
    stack 的优势
    如何使用 stack?- 每天5分钟玩转 Docker 容器技术(112)
    什么是 stack?- 每天5分钟玩转 Docker 容器技术(111)
  • 原文地址:https://www.cnblogs.com/yajunLi/p/5359946.html
Copyright © 2011-2022 走看看