iOS 微信登录巨坑:不出现授权界面,不走OnResp回调

如题所述

前两天做微信授权登录,各种导入都正常,微信文档自测也通过了,微信自检函数也通过了,但是结果是: 可以打开微信,打开微信就结束了,一直不出现授权界面。  于是在这个问题上耗费了整整2天时间,发现了微信的一个巨坑,哭笑不得。

先看下,微信自检函数输出截图:

自检函数输出:All Check Passed!  代表自检通过,最起码Universal Link 是没问题的,这一步大家就可以不用看了。

然后正式调用微信,如下图书写:

在上图中, 微信有个接口判断是否打开微信 ( 备注: 经2楼大神解释,明白这一步的功能只为调起微信,即只要打开了微信,执行结束,所以这一步只做测试用 ), 我当时想的是一步步走,于是就加上了这句。好的,运行程序,出现了结果:

到这步就停止了,微信的授权界面一直不出现。

于是两天之内,又是跟后台调universal link的文件夹,又是搜问题,其中微信log里还出现了错误:Error:fail to load Keychain status:-25300, keyData null:1,网上的解决办法一般是在APPdelegate里面加入一个方法,如下图:

但依旧只能调起微信,不出现授权登录界面,当然也不会走回调方法,无法拿到用户信息等。

经过两天查找,最后一步一步一点一点注释,终于发现了 : BOOL isopen = [WXApi openWXApp];微信的这个方法加入之后,不会出现授权界面,也不会进入回调 。 不知道什么原因,反正它就是影响授权。然后进行修改:

这样,就可以进行授权,进入OnResp:回调,拿到相关信息了。

具体的原理也不清楚,希望知道的大神解释一下。

好了,整理出来给大家做个参考,希望大家不要踩坑,集成顺利。
温馨提示:答案为网友推荐,仅供参考
相似回答