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

    结束。

  • 相关阅读:
    jfreechart简单介绍---曲线图
    Java监听器
    在java里actionPerformed是做什么用的
    sqlserver,oracle,mysql等的driver驱动,url怎么写
    ibatis入门实例(完整)
    java连接access数据库的三种方式以及远程连接
    elementui入门以及nodeJS环境搭建
    vue路由
    vue模板语法下
    vue模板语法上
  • 原文地址:https://www.cnblogs.com/yajunLi/p/5359946.html
Copyright © 2011-2022 走看看