本文只是用于记录Sign In with Apple的流程,在摆渡各种copy文章一堆,有的这样,有的又那样。
接通流程更为重要。比较简单,所以不上图不上代码了。
前期工作
1.项目 --> Targets --> Signing & capabilities --> 添加Sign in With Apple
2.项目 --> Targets --> Build Phases --> Link Binary With Libraries --> 添加AuthenticationServices库
3.开发者账号 --> Certificates,Identifiers & Profiles --> Identifiers --> 把Sign in With Apple勾上
规范情况
1.进入APP。
登录的情况下:在didFinishLaunchingWithOptions连接苹果服务器,验证账号是否还能继续登录。
未登录的情况下:直接从第3点开始。
2.设置账号能否继续登录的监听,当账号revoke,会得到通知,然后把无辜群众赶下线
3.当需要登录的时候,选择apple id 登录,请求回苹果用户数据后,将Identity token, code发给后台,后台通过苹果的api去验证,如果验证成功,根据userIdentifier去判断后台是否有这个用户,登陆,本地持久化。
非规范情况(这种不严谨的做法,用着先吧,比较香)
1.进入APP。
2.当需要登录的时候,选择 apple 登录,把唯一的userID (字段:user) 传给后台,验证,登录,本地持久化。
最后
别用ASAuthorizationAppleIDButton啦,丑得一批,不要求强制使用的,亲测,已经上线一个版本,直接用button吧。