ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

本文主要是介绍ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 截图
  • 1.在开发者网站的app id中添加Sign in with Apple功能
  • 2.在Xcode中添加Sign in with Apple功能
  • 3.代码:只有第一次登录的时候可以获取到用户名
  • 参考博客
  • chatGPT答案

截图

请添加图片描述

1.在开发者网站的app id中添加Sign in with Apple功能

1.1 如果你新建app id,记得在新建的时候就选中Sign in with Apple功能
请添加图片描述
请添加图片描述
1.2 如果app已经上线了,后面再需要加苹果登录的功能,也可以在app id的配置中加这个功能,只是勾选Sign in with Apple点击Save后,profilex需要重新生成
请添加图片描述

2.在Xcode中添加Sign in with Apple功能

请添加图片描述

3.代码:只有第一次登录的时候可以获取到用户名

import AuthenticationServices
//MARK: Sign in with Apple 苹果第三方登录
extension LoginVC{func addAppleLoginBtn(){let appleLoginButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black)view.addSubview(appleLoginButton)appleLoginButton.snp.makeConstraints { make inmake.top.equalTo(fbLoginButton.snp_bottomMargin).offset(40*GLratioHeight)make.centerX.equalToSuperview()make.width.equalTo(200)make.height.equalTo(40)}appleLoginButton.addTarget(self, action: #selector(appleLoginButtonTapped), for: .touchUpInside)}@objc func appleLoginButtonTapped() {// 在这里处理按钮点击事件,启动苹果登录流程let appleIDProvider = ASAuthorizationAppleIDProvider()let request = appleIDProvider.createRequest()request.requestedScopes = [.fullName, .email]let authorizationController = ASAuthorizationController(authorizationRequests: [request])authorizationController.delegate = selfauthorizationController.presentationContextProvider = selfauthorizationController.performRequests()}}extension LoginVC: ASAuthorizationControllerDelegate {func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {printXY(#function, obj: self, line: #line)if let credential = authorization.credential as? ASAuthorizationAppleIDCredential {// 用户成功登录,可以获取用户身份信息并进行相应操作let userIdentifier = credential.user//名字只有第一登录的时候可以获取到,后面都是nillet fullName = credential.fullNamelet name = (fullName?.givenName ?? "xxx") + " " + (fullName?.familyName ?? "apple")let email = credential.email// 在这里处理用户身份信息,例如创建用户账户、进行授权等}}func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {// 登录过程中出现错误,可以在这里处理错误情况print("Apple Login Error: \(error.localizedDescription)")}
}extension LoginVC: ASAuthorizationControllerPresentationContextProviding {func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {return self.view.window!}
}

参考博客

iOS 苹果登录(第三方登录) - csdn
集成AppleID登录 - 简书

chatGPT答案

要在你的 iOS 应用中接入苹果登录,你需要按照以下步骤进行:

苹果开发者账号: 确保你有一个苹果开发者账号,因为在使用苹果登录功能之前,你需要在苹果开发者网站上注册你的应用,并创建相应的身份验证密钥。

Xcode 中配置应用: 打开你的 Xcode 项目,然后转到你的应用目标设置。在 “Signing & Capabilities”(签名与能力)选项卡中,确保你的应用已启用 “Sign in with Apple”(使用苹果登录)功能。如果没有,请点击 “+” 按钮,然后添加该功能。

在苹果开发者网站上配置身份验证密钥: 登录苹果开发者网站,转到 “Certificates, Identifiers & Profiles”(证书、标识符与配置文件)部分。然后,创建一个新的认证密钥,选择 “Sign in with Apple”(使用苹果登录)选项。

集成苹果登录 SDK: 在你的应用中集成苹果登录 SDK。苹果提供了一个名为 “AuthenticationServices” 的框架,你可以使用它来处理苹果登录。确保在需要使用苹果登录功能的视图控制器中导入该框架,并按照苹果的文档进行配置。

实现登录流程: 在你的应用中添加适当的按钮或页面,用于触发苹果登录流程。在用户点击登录按钮时,调用苹果登录 SDK 提供的方法启动登录流程。然后,处理登录成功或失败的回调,并根据情况执行相应的操作。

处理用户数据: 登录成功后,你将收到一个包含用户身份信息的认证令牌。你可以使用这些信息来创建用户账户、进行授权或执行其他操作。确保遵循苹果的隐私政策和最佳实践,正确处理用户数据。

测试和优化: 在集成苹果登录后,进行全面的测试,确保它能够在各种情况下正常工作。此外,考虑优化用户体验,确保登录流程简单直观,并提供适当的错误处理和反馈。

通过以上步骤,你应该能够在你的 iOS 应用中成功集成苹果登录功能。

这篇关于ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887937

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

不懂怎样摘草莓的电影我

拿起来后摘掉茎的电影 今天的拿起来后摘掉茎的电影,诶,我在某某自选商店,他们上了我的太阳飞机,那些小平房呢,不懂怎样摘草莓的电影我,我开着飞机,哪来的高楼大厦,我找了两个小时,是不是作弊了。 只好求助农民伯伯,都是很简单的,这是冀州市吗,快快充实交代梁锦宇笑着说,拿起来后摘掉茎,我说,咦,许多同学问梁锦宇,后来我才知道。 是东面还是西面,是团队的富民政策把平房变成了高楼大厦,找自己的住处,

iOS HTTPS证书不受信任解决办法

之前开发App的时候服务端使用的是自签名的证书,导致iOS开发过程中调用HTTPS接口时,证书不被信任 - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAu

SpringBoot集成Netty,Handler中@Autowired注解为空

最近建了个技术交流群,然后好多小伙伴都问关于Netty的问题,尤其今天的问题最特殊,功能大概是要在Netty接收消息时把数据写入数据库,那个小伙伴用的是 Spring Boot + MyBatis + Netty,所以就碰到了Handler中@Autowired注解为空的问题 参考了一些大神的博文,Spring Boot非controller使用@Autowired注解注入为null的问题,得到

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主