iOS集成支付宝登录

释放双眼,带上耳机,听听看~!

今天正好需要集成支付宝登录,(注意哦,不是使用支付宝支付,只是支付宝登录。)也有一段时间没写了,正好整理下思路。把过程记录下以后直接参考。


支付宝【登录Only】AFAuthSDK下载入口.

参考官方文档

  1. App支付宝登录授权SDK调用方法
  2. App支付宝登录快速接入

1、开发者网站申请与配置

和大多数的三方一样,需要申请成为开发者-注册app-生成appID等。

 

申请app

主要是appID和配置你需要用支付宝的哪些功能。这里我选择了
· 获取会员信息
· 第三方授权1

 

配置好需要的功能

 

配置好后提交审核即可。这里暂时用不到支付宝给我们提供的沙盒模式,那个用于支付功能测试不错的。

2、回到项目

将下载好的sdk拖入工程中。并配置项目的Link Binary如图:
登录:“AFAuthSDK.framework”
登录+支付:“AlipaySDK.framework”
按需集成,这里说明一点。以前由于上架审核的机制问题,所以都是AlipaySDK,但是Apple自从2018年1月左右审核机制对于支付功能的规范后,导致很多app上架失败。针对这个问题,微信、支付宝等三方登录均将授权登录部分单独提供sdk(auth_login_only)。

 

Link Binary

3、别急,到代码了

· import <AFAuthSDK/AFAuthSDK.h>
    //你在info中/或plist中设置的appScheme
NSString *appScheme = @"你的appScheme";
//authStr参数后台获取!和开发中心配置的app有关系,包含appidname等等信息。
NSString *authStr = @"后台获取的authStr";
//没有安装支付宝客户端的跳到网页授权时会在这个方法里回调
[[AFAuthSDK defaultService] authv2WithInfo:authStr fromScheme:appScheme callback:^(NSDictionary *result) {
// 解析 auth code
NSString *resultString = result[@"result"];
NSString *authCode = nil;
if (resultString.length>0) {
NSArray *resultArr = [resultString componentsSeparatedByString:@"&"];
for (NSString *subResult in resultArr) {
if (subResult.length > 10 && [subResult hasPrefix:@"auth_code="]) {
authCode = [subResult substringFromIndex:10];
break;
}
}
}
NSLog(@"resultString = %@",resultString);
//        NSLog(@"authv2WithInfo授权结果 authCode = %@", authCode?:@"");
}];

4、不调用block?

写完以上代码会发现并不能回调。解决:
在你的appdelegate中继续写:

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
//授权返回码
[[AFAuthSDK defaultService]processAuthv2Result:url standbyCallback:^(NSDictionary *result) {
}];
return YES;
}

以上也是在只用到支付宝登录,不需要支付的时候最简洁的做法了把。

不用到支付功能的真的没必要使用AliPaySDK.framework.

当然,你也可以使用友盟、shareSDK等方式集成,借助于后者的不利就是多集成很多无效垃圾代码。当然,凡事阴阳,后者的便利是在于我们需要集成微信、新浪、微博、支付宝、QQ、Twitter、Facebook等一大大大大大堆的三方登录。
Tips: shareSDK对国外平台的集成比较友好,友盟SDK最近一段时间没用过不知道。

简洁且简单.


The End.

人已赞赏
iOS文章

iOS常见错误总结(干货篇)

2020-1-17 15:45:58

iOS文章

iOS开发UISearchBar 在 iOS13 崩溃的问题

2020-1-17 16:37:09

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索