Swift - вход в систему с помощью Apple всегда приводит к появлению сообщения «Регистрация не завершена» после запуска распознавания лиц.

Я начал с того, что следовал этому руководству, чтобы настроить «Войти через яблоко» с помощью Firebase:

https://medium.com/swift-productions/sign-in-with-apple-with-firebase-authentication-xcode-12-swift-5-3-7f5ee7902ea3

Однако даже когда я следую этому руководству:

https://www.iosapptemplates.com/blog/ios-development/sign-in-with-apple-swift#comment-37591.

Без какой-либо ссылки на Firebase я не могу пройти мимо «Регистрация не завершена» в модальном окне входа в Apple после запуска счетчика «Вход в систему» ​​распознавания лиц.

Я добавил возможность в 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)")
    }
    
}

person Jen O'Dowd    schedule 11.03.2021    source источник
comment
То же самое, попробовал с пустым проектом и все еще получил эту ошибку, это проблема со стороны Apple?   -  person YanouHD    schedule 12.03.2021
comment
Да, сегодня работает и я ничего не менял!   -  person Jen O'Dowd    schedule 12.03.2021


Ответы (1)


Это была проблема со стороны Apple, вчера я перепробовал все, что не сработало, а теперь работает. :)

person YanouHD    schedule 12.03.2021
comment
Ух ты, потратил на это 2 дня! Код выше сегодня работает нормально. - person Jen O'Dowd; 12.03.2021
comment
Хаха, да, я и мой друг сделали то же самое ... 2 дня думали о том, чтобы бросить программирование ???? - person YanouHD; 13.03.2021