在已安装微信的情况下,可以正常登陆调用 onResp: 函数并且登陆;
没有安装微信时,接收到微信的跳转短信后,跳转到 app 中后,显示「确认登陆」按钮,点击确没有调用 onResp: 函数。
我下载了微信官方的 demo,发现确正常,代码检查过也没发现哪里调用不太一样,难道是需要开通吗? demo 中替换成自己的 appid 也能正常,继续检查代码...
在已安装微信的情况下,可以正常登陆调用 onResp: 函数并且登陆;
没有安装微信时,接收到微信的跳转短信后,跳转到 app 中后,显示「确认登陆」按钮,点击确没有调用 onResp: 函数。
我下载了微信官方的 demo,发现确正常,代码检查过也没发现哪里调用不太一样,难道是需要开通吗? demo 中替换成自己的 appid 也能正常,继续检查代码...
4 回答1.7k 阅读✓ 已解决
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
2 回答1.9k 阅读
2 回答1.5k 阅读
1 回答909 阅读✓ 已解决
已经找到问题所在:
在自身 app 中所弹出的微信「确认登陆」点击后,会调用一个 url scheme,而这个 url scheme 的来源是自身 app 的 bundle id。
在我所编写的 app 中,
AppDelegate.m
的- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
函数中,对短信和微信的 bundle id 来源进行了判断(为了区分 qq、微信、新浪等来源),但是没有对 app 本身的 bundle判断,造成了忽略。微信 demo 虽然很全面但是对于一些调用流程的细节解释上有所欠缺,希望官方文档能完善。