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

结束。

iOS做新浪微博sso授权登录遇到的一些坑的更多相关文章

  1. iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)

    链接地址:http://www.it165.net/pro/html/201408/18884.html 1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社 ...

  2. iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录<无需密码>)

    1.前言   不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享:http://www.cnblogs.com/qingche/p/3727559.html 可 ...

  3. Android 使用新浪微博SSO授权

    新浪微博SSO授权,很早就做好了,只是一直没有时间整理博客,今天加班,晚上闲暇之时便想到整理一下.由于整个七月份很忙,加班很多.前段时间把腾讯微博的SSO认证整理好了.想在七月份翻篇之前再写点东西.好 ...

  4. 基于Swift语言开发微信、QQ和微博的SSO授权登录代码分析

    前言 Swift 语言,怎么说呢,有一种先接受后排斥.又欢迎的感觉,纵观国外大牛开源框架或项目演示,Swift差点儿占领了多半,而国内尽管出现非常多相关技术介绍和教程,可是在真正项目开发中使用的占领非 ...

  5. iOS 基于第三方QQ授权登录

    基于iOS实现APP的第三方QQ登陆.接入第三方SDK时的一个主要的步骤: 1,找到相关的开放平台.QQ互联平台,http://connect.qq.com/: 2,注冊成功后创建自己的APP.填写一 ...

  6. 新浪微博SSO授权后回调客户端没有执行sinaweiboDidLogIn&无法返回应用

    TARGETS --> URL Types --> 添加  --> 在URL Schemes里填上sinaweibosso.XXXX(AppKey),Identifier这里可以随机 ...

  7. ios 友盟第三方登录遇到的各种坑。

    //未使用pod的点友盟官方文档 http://dev.umeng.com/social/ios/quick-integration 首先pod导入 pod 'UMengSocialCOM', '~& ...

  8. 在自己的网站上实现QQ授权登录

    最近在实现QQ授权登录,现将我的实现过程以及我的理解整理如下.以下所述如有不对之处,请指正. 官方提供的SDK有:JS,PHP,Java.我的网站使用Scala+Play搭建的,所以只能用JS SDk ...

  9. sso单点登录系统原理与实现

    sso单点登录 1.认识并理解sso及其应用,并能根据其实现原理自行实现sso 没有使用sso单点登录的系统用户再访问同一个系统的不同模块都必须的登录 使用sso单点登录,用户只需要登录一次,并且可以 ...

随机推荐

  1. 删除html元素

    如果需要将id是‘div2js’的div元素删除. 1.使用DOM对象 首先需要找到被删元素的父元素,通过父元素将其需要删除的子元素删除. var el = document.getElementBy ...

  2. MD5编码工具类 MD5Code.java

    代码如下: package com.util; /** * MD5编码工具类 * http://www.cnblogs.com/sosoft/ */ public class MD5Code { st ...

  3. PHP面试题汇总

    1.用PHP打印出前一天的时间格式是2014-01-13 12:10:21(2分) 2.echo(),print(),print_r()的区别(3分) 3.能够使HTML和PHP分离开使用的模板(1分 ...

  4. .net概念之程序集说明

    一.程序集的一些基本概念: 程序集是包含一个或多个类型定义文件和资源文件的集合.它允许我们分离可重用类型的逻辑表示和物理表示. 程序集是一个可重用.可实施版本策略和安全策略的单元.它允许我们将类型和资 ...

  5. QTableWidget 使用及美化_QtableWidget_QtableView滚动条宽度及样式

      //创建及属性设置m_tableWidget = new QTableWidget(this);m_tableWidget->setRowCount(10);m_tableWidget-&g ...

  6. WCF学习笔记1--发布使用配置文件的服务

    关于WCF的入门网上资料很多,可以参考蒋金楠老师的博客http://www.cnblogs.com/artech/archive/2007/02/26/656901.html,我是从这篇博客开始学习的 ...

  7. Android对话框自定义标题

    Android自带的对话框标题不好看,如果我们需要给弹出的对话框设置一个自己定义的标题,可以使用AlertDialog.Builder的setCustomTitle()方法. 定义一个对话框标题的ti ...

  8. static关键字详解

    首先,要了解一下这些东西的存放位置 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆 ...

  9. GJM:书籍相关整理 [原创]

    多人在线教程(中文)MultiplayerTutorial.pdf           链接: http://pan.baidu.com/s/1boDGGGZ 密码:9l2g 版权声明:本文原创发表于 ...

  10. mybatis同时启用mapperscanner和传统DAO

    在通过MapperScannerConfigurer启用了mybatis的映射器之后,默认情况下,在basePackage下的所有接口类都会被无条件的自动代理,如下所示: <!--mapper ...