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

这篇具有很好参考价值的文章主要介绍了ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

截图

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

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

1.1 如果你新建app id,记得在新建的时候就选中Sign in with Apple功能
ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录,ios
ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录,ios
1.2 如果app已经上线了,后面再需要加苹果登录的功能,也可以在app id的配置中加这个功能,只是勾选Sign in with Apple点击Save后,profilex需要重新生成
ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录,ios

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

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

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 应用中成功集成苹果登录功能。文章来源地址https://www.toymoban.com/news/detail-845481.html

到了这里,关于ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ios swift5 collectionView 瀑布流(两列)

    CollectionViewWaterfallLayout - github

    2024年02月12日
    浏览(51)
  • 【教程】idea中github copliot插件无法登录连接,报错Sign in failed.Reason:RequestsignInlnitiate failed with message.

    前言:github copliot是一个强大的人工智能编程助手。它基于GPT-3.5模型,可以在编写代码时提供智能的自动完成和代码建议。 Sign in failed.Reason:RequestsignInlnitiate failed with message:connect ETIMEDOUT20.205.243.166:443,requestid:5,error code:-32603 Sign in failed.Reason:RequestsignInlnitiate failed with message:con

    2024年03月14日
    浏览(53)
  • iOS swift5 弹出提示文字(停留1~2s)XHToastSwift

    CoderZhuXH/XHToastSwift - github

    2024年02月10日
    浏览(37)
  • Android应用添加谷歌登录(Google Sign In)

    Android平台添加Google登录便于读取用户信息,也便于将应用发布到GooglePlay。 具体步骤如下,个人觉得还是比较繁琐的,一步一步来看吧。 服务账号创建项目 developers.google.com/workspace/g… 每个Google账号可以创建12个项目。 点击创建。 创建凭据 这里提示要先创建OAuth同意屏幕。

    2024年02月01日
    浏览(52)
  • 苹果iOS 17新功能:iPhone激活Apple Watch铃声反向查找手表

    苹果 Apple Watch 此前一直有查找 iPhone 的功能,用户可以点击表盘的电话图标(或者长按)来激活 iPhone 的铃声,从而找到附近的 iPhone 手机。 在最新的 iOS 17 测试版本中,苹果为 iPhone 也添加了这一功能的反向版本,可以通过 iPhone ping 到 Apple Watch,通过 Apple Watch 的铃声查找附

    2024年02月11日
    浏览(45)
  • (flutter)黑苹果系统 Xcode iOS flutter 跑通真机模拟器 此oc clover 彼oc swift

    前段时间写了关于flutter的一系列基础知识和入门的一些坑,中间把ios端的项目编译部署等工作一带而过,这里我觉得还是有必要专门写一篇文章来讲讲这个,顺便把环境问题也一起说了。 我们都知道开发ios应用需要用到苹果电脑,即使flutter也不例外,flutter编译构建需要Xc

    2024年02月07日
    浏览(61)
  • 苹果使用3D打印技术制造Apple Watch Series 9手表外壳

    据彭博社的马克・古尔曼报道,苹果公司正在使用 3D 打印技术来制造即将推出的部分Apple Watch Series 9 的外壳。这种制造工艺可以节省传统数控加工所需的大量金属材料,同时缩短生产时间。这与之前苹果分析师郭明錤的说法相吻合。 苹果公司自2021年推出AirTag蓝牙定位器,并

    2024年02月10日
    浏览(40)
  • 使用swift创建第一个ios程序

    一、安装xcode 先到app store中下载一个Xcode app 二、创建项目 1、项目设定 创建ios app 2、工程结构 三、修改代码实现按键联动 四、运行测试

    2024年01月17日
    浏览(39)
  • IOS-UIAlertController简单使用-Swift

    UIAlertControlle时IOS的对话框控制器(警报控制器),简单使用方法如下: 步骤都一样,先是创建UIAlertController,然后创建UIAlertAction,再将UIAlertAction添加到UIAlertController中,最后显示对话框。 效果如图: 效果如图: 注意preferredStyle为.actionSheet 效果如图:

    2024年01月18日
    浏览(46)
  • 苹果(apple)支付退款通知、api

    背景: 用户在使用苹果支付购买商品后,可以直接像苹果申请退款,如果申请成功将导致商户直接构成损失。甚至某网络平台有这种专门薅羊毛的店铺,低价出售虚拟商品,再申请退款。所以有必要对用户发起的退款订单做及时响应,比如扣除对应的虚拟商品或像apple官方提

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包