недавно изучаю SiwA на
Я пытался учиться шаг за шагом, однако, когда я использовал "ASAuthorizationAppleIDProvider", я столкнулся с некоторой проблемой с проводным подключением. Я сохранил идентификатор пользователя в локальном, но он возвращает notfound при использовании ASAuthorizationAppleIDProvider. Я также удаляю Apple ID, который использовался ранее в
Настройки> Apple ID> Пароль и безопасность> Приложения, использующие ваш Apple ID
Но при повторном входе в систему он по-прежнему не возвращается. Вот мой код.
extension LoginViewController: ASAuthorizationControllerDelegate{
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
print("something bad", error)
}
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential{
UserDefaults.standard.set(appleIDCredential.user, forKey: appleAccount.userID)
}
}
}
if let userID = UserDefaults.standard.string(forKey: appleAccount.userID) {
ASAuthorizationAppleIDProvider().getCredentialState(forUserID: userID, completion: {
credentialState, error in
print(userID)
switch(credentialState){
case .authorized:
print("user remain logged in, proceed to another view")
self.performSegue(withIdentifier: "LoginToUserSegue", sender: nil)
case .revoked:
print("user logged in before but revoked")
case .notFound:
print("user haven't log in before")
default:
print("unknown state")
}
})
}
Он действительно печатает идентификатор пользователя, поэтому идентификатор пользователя не равен нулю. Но кажется, что он не совпадает с Apple ID, поэтому показывает, что он не найден? Вот ошибка
[core] Запрос состояния учетных данных возвращен с ошибкой: Error Domain = AKAuthenticationError Code = -7073 "(null)"