iOS分享授权问题:-canOpenURL: failed ..."This app is not allowed to query for sscheme xx
2017-07-24 13:46
671 查看
新浪微博sso授权第三方登录,这里没有借助第三方框架,如shareSKD和友盟等,直接参考新浪官方SDK和文档。
过程中遇到几个坑,找了很久,好歹最后解决了,记录如下
问题1:
_NSInlineData base64EncodedString - unrecognized selector sent to instance 报错
这个坑编译是看不出来的,可以通过,运行时,直接闪退了,蹦~
解答:
这里我之前也试过第三方框架做新浪授权登录,也会遇到此问题,所以这个还是新浪自己SDK的坑,与第三方框架无关。
最后解决:在build settings ->other linker flags ->添加-all_load
![](http://www.bkjia.com/uploads/allimg/160407/1626034I6-0.png)
吐槽下,官方文档上,让家-objc,没卵用啊。。。
这里要注意下,如果还不行,最好严格按照官方文档把相应framework加全了,具体参考《微博iOS平台SDK文档V3.1.4》,https://github.com/sinaweibosdk/weibo_ios_sdk。
![](http://www.bkjia.com/uploads/allimg/160407/1626033K6-1.png)
问题2:
好了,这个坑纠结很久,终于可以运行了,打开都正常,点击新浪登录,理论上直接弹出提示:应用想打开微博,下面可以选取取消、确定
但实际上是跳刀了网页登录,并没有sso打开微博APP,并且打印一大堆日志,错误如下:
总共好几行,解决办法是:在info.plist里添加一个属性:LSApplicationQueriesSchemes,并设置内容
![](http://www.bkjia.com/uploads/allimg/160407/1626034T5-2.png)
添加完,就可以正常授权了。
过程中遇到几个坑,找了很久,好歹最后解决了,记录如下
问题1:
_NSInlineData base64EncodedString - unrecognized selector sent to instance 报错
这个坑编译是看不出来的,可以通过,运行时,直接闪退了,蹦~
解答:
这里我之前也试过第三方框架做新浪授权登录,也会遇到此问题,所以这个还是新浪自己SDK的坑,与第三方框架无关。
最后解决:在build settings ->other linker flags ->添加-all_load
![](http://www.bkjia.com/uploads/allimg/160407/1626034I6-0.png)
吐槽下,官方文档上,让家-objc,没卵用啊。。。
这里要注意下,如果还不行,最好严格按照官方文档把相应framework加全了,具体参考《微博iOS平台SDK文档V3.1.4》,https://github.com/sinaweibosdk/weibo_ios_sdk。
![](http://www.bkjia.com/uploads/allimg/160407/1626033K6-1.png)
问题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,并设置内容![](http://www.bkjia.com/uploads/allimg/160407/1626034T5-2.png)
添加完,就可以正常授权了。
相关文章推荐
- iOS9.0 canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- Ios9.0 canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- Ios9.0 canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- iOS9.0 canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"key>
- Ios9.0 canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- [iOS]canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- 【iOS开发】-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- iOS开发-canOpenURL: failed for URL: "mqq://" - error: "This app is not allowed to query for scheme mqq
- 社交分享:-canOpenURL: failed for URL: "weixin://app/*************/" - error: "This app is not allowed to query for scheme weixin"
- canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
- -canOpenURL: failed for URL: "kindle://home" - error: "This app is not allowed to query for scheme k
- iOS社会化分享报错:- error: "This app is not allowed to query for scheme mqq"
- -canOpenURL: failed for URL: "wechat://" - error: "This app is not allowed to query for scheme wech
- iOS 9 failed for URL: "XXX://@" - error: "This app is not allowed to query for scheme XXX" iOS 从APP里
- iOS应用之间跳转 报错:"This app is not allowed to query for scheme ***"
- ios 9.1之后 微信第三方登陆“This app is not allowed to query for scheme weixin”问题
- -canOpenURL: failed for URL: "weixin://app/wxff569f1617559XX1/" - error: "This app is not allowed to
- iOS 9 failed for URL: "XXX://@" - error: "This app is not allowed to query for scheme XXX" iOS 从APP里启动另一APP