iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结

近两年半没有工作,重新回到技术岗位,脸大的我竟然一丁点不恐惧,不知道其他宝妈会有同样的感受吗?在新公司的第二周被安排给之前的一个项目改bug,第二个任务是一个社交的App,其中有通过第三方快速登录的功能,不瞒大家说,第一次接触(14年毕业就做iOS开发,成长神一般的慢)。

正题:最最好的方式是官方文档

除此之外百度  不好意思地说 我“百家抄袭”了一下。除了微信登录 还附加了分享哈哈~(有图片更高效,本人能力有限,不大喜欢读长长的只有文字的技术文章嘻哈)

1、集成SDK
1.1、(手动集成)下载并解压SDK​:下载链接,并拖拽 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个文件到Xcode⼯工程内。
1.2、(通过CocoaPods集成)
pod 'WechatOpenSDK'

2、添加依赖库(CocoaPods集成的不用添加)
SystemConfiguration.framework
libz.tbd
libsqlite3.0.tbd
libc++.tbd
CoreTelephony.framework

3、新增⼀一条URL Scheme:选中⼯工程Target -> Info -> URLTypes;
identifier随便写,URL scheme写成微信开放平台申请的appid

iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结_第1张图片

 4、添加⽩白名单:LSApplicationQueriesSchemes新增⽩名单****

5、AppDelegate中向微信注册Appid,并添加处理回调的代码

 

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options{
    
    return [WXApi handleOpenURL:url delegate:self];
}

A:

1、微信登录

iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结_第2张图片

iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结_第3张图片

iOS 三方登录非友盟等而是“ 微信 QQ 支付宝” 简单总结_第4张图片

微信回调后如果还需要获取个人信息 在官方文档中有相关的URL,下面的是我公司实际用到的 仅供参考

在appdelegate中加通知//微信登录回调

-(void)onResp:(BaseResp *)resp{

    [[NSNotificationCenter defaultCenter] postNotificationName:@"wxcbk" object:resp];

}

在对应类中添加接收者

    [[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(wxcbk:) name:@"wxcbk" object:nil];

之后是通知方法

-(void)wxcbk:(NSNotification *)noti{

    SendAuthResp *resp = noti.object;

    NSString *url = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code",KWXAPPID,KWXSECRET,resp.code];

    [[Httprequest share] postObjectByParameters:nil andUrl:url  show

你可能感兴趣的:(iOS,三方登录,转载加原创,微信支付宝QQ)