2

使用 Apple id 登录,配置所有必需的人员。

在开发者帐户中启用 Apple 登录。

代码:

import UIKit
import AuthenticationServices

class ViewController: UIViewController, ASAuthorizationControllerDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let button = ASAuthorizationAppleIDButton()
        button.addTarget(self, action: #selector(appleIDButtonPressed), for: .touchUpInside)
        button.center = view.center
        view.addSubview(button)
    }
    
    @objc private func appleIDButtonPressed() {
        let appleIDProvider = ASAuthorizationAppleIDProvider()
        let request = appleIDProvider.createRequest()
        request.requestedScopes = [.fullName, .email]
        let authorizationController = ASAuthorizationController(authorizationRequests: [request])
        authorizationController.delegate = self
        authorizationController.performRequests()
    }
    
    func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
        
    }
    
    func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
        
    }
}

当点击登录按钮并验证人脸时显示 UI 错误,但未调用委托。

UI 错误的图像

4

1 回答 1

3

这是Apple方面的一个问题,我昨天尝试了所有方法,但都不起作用,现在它可以工作了。:)

于 2021-03-12T10:12:54.477 回答