ToB企服应用市场:ToB评测及商务社交产业平台
标题:
ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录
[打印本页]
作者:
勿忘初心做自己
时间:
2024-10-8 10:50
标题:
ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录
截图
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 in
make.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 = self
authorizationController.presentationContextProvider = self
authorizationController.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
//名字只有第一登录的时候可以获取到,后面都是nil
let fullName = credential.fullName
let 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 应用中成功集成苹果登录功能。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4