微信原生SDK实现三方登录


1.微信开放平台下载SDK

SDK下载

2.将下载的SDK加入工程中,并添加相应的依赖库

SDK中的文件如图:

微信原生SDK实现三方登录_第1张图片
SDK包含文件

添加的依赖库如图:

微信原生SDK实现三方登录_第2张图片

3.配置URL Schemes和plist文件

1.Targets->Info->URL Types(微信的URL shcemes就是微信开放平台申请的key,直接粘过来)

微信原生SDK实现三方登录_第3张图片

2.添加白名单,在plist文件中添加LSApplicationQueriesSchemes(数组类型),并在其中添加wechat和weixin。

4.代码部分,导入WXApi.h并添加代理WXApiDelegate

1.注册微信:(如果不写这个,跳转到微信点击登录后没有反应,无法跳回应用,微信找不到是谁注册了应用)

 [WXApi registerApp:@"wx2952cceae5dd010f" withDescription:@"weixinauth"];

2.这个是微信返回自己的APP时首先调用的方法,调完这个方法后才会调用微信的代理方法,如果没有这个方法,微信的代理方法也不会调用。

iOS9之前方法:

- (BOOL)application:(UIApplication *)application)

openURL:(NSURL *)url

sourceApplication:(NSString *)sourceApplication

annotation:(id)annotation{}

iOS9之后方法(如果要兼容9之前的系统两个都要写,方法里写的东西都一样):

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options{

if ([url.host isEqualToString:@"oauth"]){

return [WXApi handleOpenURL:url delegate:self];

     }

}

3.在微信的代理方法- (void)onResp:(BaseResp*)resp{}中处理返回的数据,拿到code,请求微信官方的一个接口,得到opened,access_token,再根据opened,access_token拿到用户的个人信息

具体接口参见微信官方文档接口

你可能感兴趣的:(微信原生SDK实现三方登录)