Swift - 使用 apple 登录总是在面部识别运行后得到 'Sign up not completed'
Swift - Sign in with apple always results in 'Sign up not completed' after the facial recognition runs
我首先按照本教程使用 Firebase 设置 'Sign in with apple':
但是,即使我遵循本教程:
https://www.iosapptemplates.com/blog/ios-development/sign-in-with-apple-swift#comment-37591
在不参考 Firebase 的情况下,在面部识别 'Signing in' 微调器运行后,我无法通过苹果登录模式中的 'Sign up not completed'。
我已经在 XCode 和标识符中添加了功能,尝试添加密钥和不添加密钥,因为一些教程没有提到它。我似乎找不到我丢失的东西。
代码取自上述教程:
import UIKit
import AuthenticationServices
class ViewController: UIViewController, ASAuthorizationControllerDelegate {
let appleButton = ASAuthorizationAppleIDButton(type: .continue, style: .black)
override func viewDidLoad() {
super.viewDidLoad()
setupAppleButton()
}
func setupAppleButton() {
view.addSubview(appleButton)
appleButton.cornerRadius = 12
appleButton.addTarget(self, action: #selector(handleAppleIdRequest), for: .touchUpInside)
appleButton.translatesAutoresizingMaskIntoConstraints = false
appleButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
appleButton.widthAnchor.constraint(equalToConstant: 235).isActive = true
appleButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
appleButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -70).isActive = true
}
@objc func handleAppleIdRequest() {
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, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
let userIdentifier = appleIDCredential.user
let fullName = appleIDCredential.fullName
let email = appleIDCredential.email
print("User id is \(userIdentifier) \n Full Name is \(String(describing: fullName)) \n Email id is \(String(describing: email))")
}
}
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
// Handle error.
print("error \(error.localizedDescription)")
}
}
这是 Apple 方面的问题,我昨天尝试了所有方法都没有用,现在它可以用了。 :)
我首先按照本教程使用 Firebase 设置 'Sign in with apple':
但是,即使我遵循本教程:
https://www.iosapptemplates.com/blog/ios-development/sign-in-with-apple-swift#comment-37591
在不参考 Firebase 的情况下,在面部识别 'Signing in' 微调器运行后,我无法通过苹果登录模式中的 'Sign up not completed'。
我已经在 XCode 和标识符中添加了功能,尝试添加密钥和不添加密钥,因为一些教程没有提到它。我似乎找不到我丢失的东西。
代码取自上述教程:
import UIKit
import AuthenticationServices
class ViewController: UIViewController, ASAuthorizationControllerDelegate {
let appleButton = ASAuthorizationAppleIDButton(type: .continue, style: .black)
override func viewDidLoad() {
super.viewDidLoad()
setupAppleButton()
}
func setupAppleButton() {
view.addSubview(appleButton)
appleButton.cornerRadius = 12
appleButton.addTarget(self, action: #selector(handleAppleIdRequest), for: .touchUpInside)
appleButton.translatesAutoresizingMaskIntoConstraints = false
appleButton.heightAnchor.constraint(equalToConstant: 50).isActive = true
appleButton.widthAnchor.constraint(equalToConstant: 235).isActive = true
appleButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
appleButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -70).isActive = true
}
@objc func handleAppleIdRequest() {
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, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
let userIdentifier = appleIDCredential.user
let fullName = appleIDCredential.fullName
let email = appleIDCredential.email
print("User id is \(userIdentifier) \n Full Name is \(String(describing: fullName)) \n Email id is \(String(describing: email))")
}
}
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
// Handle error.
print("error \(error.localizedDescription)")
}
}
这是 Apple 方面的问题,我昨天尝试了所有方法都没有用,现在它可以用了。 :)