gpt4 book ai didi

ios13 - 带有名称和邮件范围的 ASAuthorizationAppleIDRequest 返回 nil 值

转载 作者:行者123 更新时间:2023-12-04 13:56:24 25 4
gpt4 key购买 nike

我正在实现 Sign in with Apple 并注意到 emailfullName返回的 ASAuthorizationAppleIDCredential 的属性仅在此 Apple ID 的第一次登录时填写。在所有后续登录中,这些属性为零。

这是 iOS 13 上的错误还是预期行为?

这是我用来启动请求的代码:

@available(iOS 13.0, *)
dynamic private func signInWithAppleClicked() {
let request = ASAuthorizationAppleIDProvider().createRequest()
request.requestedScopes = [.fullName, .email]

let controller = ASAuthorizationController(authorizationRequests: [request])
controller.delegate = self
controller.presentationContextProvider = self
controller.performRequests()
}

我在这个委托(delegate)方法中收到了证书:
public func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
guard let credential = authorization.credential as? ASAuthorizationAppleIDCredential else { return }

let userIdentifier = credential.user
let token = credential.identityToken
let authCode = credential.authorizationCode
let realUserStatus = credential.realUserStatus
let mail = credential.email // nil
let name = credential.fullName // nil
}

最佳答案

似乎是一个错误,但在阅读了苹果论坛上的不同帖子后,这似乎是预期的行为。

所以一些外卖。

  • 首次使用 Apple 登录(注册)时,请确保在您的后端创建用户帐户。
  • 如果您的服务器出现任何连接错误,请确保您在本地保存用户详细信息(因为您下次不会收到此信息)并继续重试在您的后端创建帐户。
  • 要在设备上进行测试,您可以撤销您应用的 Apple ID 登录。撤销后它将像下次注册一样工作,您将获得诸如(电子邮件、姓名等)之类的详细信息。

  • 使用 IOS 13 撤消您设备上的访问权限。
    iPhone Settings > Apple Id > Password & Security > Apple ID logins > {YOUR APP} > Stop using Apple ID

    关于ios13 - 带有名称和邮件范围的 ASAuthorizationAppleIDRequest 返回 nil 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593070/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com