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 エラーが表示されることを確認しますが、デリゲートは呼び出されません。