iOS接入微信登录可能遇到的问题

前言:记录一下接入微信登录的过程中可能遇到的问题

  如果是出现明明已经安装了微信但是显示出来的是没有安装微信,可能出现的问题的地方有:

  1.TARGETS->Info->URL Types处申请的appid是否填写对了;

  2.检查Info.plist文件中是否添加了LSApplicationQueriesSchemes 子项的weixin;

如果没有配置,这种一般都是会有相应的日志文件的提示 -canOpenURL: failed for URL: "weixin://app/wxd930ea5d5a258f4f/" - error: "This app is not allowed to query for scheme weixin"

  3.在AppDelegate.m或者是你的项目的启动的代理.m文件中,注册微信的appid的地方尽量写在比较靠前的位置(这个在测试Demo的过程中,真的可能导致检测是否安装微信有误);[WXApi registerApp:@"wxd930ea5d5a258f4f"]; 这句话尽量写得靠前些。  这里我用的appid是官方提供的做的展示。其实这种初始化第三方SDK需要时间的情况,以前接入直播相关的SDK的时候也有遇到过类似的问题。当时还导致过播放的内容只有声音没有画面的问题

  后续的内容可能遇到的问题

1.注意代理设置 协议遵守 实现代理方法等等这些可能也会有所忽略点

2.注意相应的接口的使用,要理解清楚所需传入的参数,请求的地址,请求的方法等等

  比如说:这个grant_type的填写authorization_code 指的是让你填写这个字符串在Get请求的urlString那里,而不是平台给你的某些变量信息

grant_type

填authorization_code

举例子这部分授权的Get请求的URLString是这样的:

 NSString *wechatAuthStr = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code",kWechatAuthOpenID,wechatAuthCodeString,kWechatAppSecretStr];

3.还有在进行Get请求的时候如果是使用的AFNetWorking中的AFHTTPSessionManager的话,manager的默认的是这样的

manager.responseSerializer.acceptableContentTypes

{(

    "application/json",

    "text/json",

    "text/javascript"

)}

在做相应的请求的时候需要添加上"text/plain"否则报错如下:

Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/plain.....

参考网址:

iOS微信接入指南

移动应用微信登录开发指南

授权后接口调用(UnionID)

http://blog.csdn.net/zhonggaorong/article/details/51719050

iOS交流群欢迎你的加入!

群二维码:

先写到这么多

如有问题,敬请指正;

如需转载,请注明出处,谢谢!

我会不定期分享 iOS 相关技术文章
原文地址:https://www.cnblogs.com/ITCoderW/p/8027527.html