7

Apple 的示例说,一旦登录视图出现,就会使用下面显示的代码执行授权尝试。当代码运行时,我得到这个无用的错误:

[核心] 授权失败:错误域=AKAuthenticationError Code=-7001 "(null)" UserInfo={AKClientBundleID=com.....SignInWithApple}

我确实在共享 Web 凭据中存储了一些可以抓取的内容。这是我正在使用的代码:

private func performExistingAccountSetupFlows() {   
  let requests = [
    ASAuthorizationAppleIDProvider().createRequest(),
    ASAuthorizationPasswordProvider().createRequest()
  ]

  appleSignInDelegates = SignInWithAppleDelegates(window: window)

  let controller = ASAuthorizationController(authorizationRequests: requests)
  controller.delegate = appleSignInDelegates
  controller.presentationContextProvider = appleSignInDelegates

  controller.performRequests()
}

我在这里错过了一步吗?

4

5 回答 5

1

试试这个: 1) 点击 Apple Sign In 按钮 2) 向上滑动(轻轻地让应用程序不会切换)屏幕底部的白条。

弹出窗口有时似乎卡住了,这就是为什么不显示并且此错误日志的原因。

现在很奇怪。

于 2019-09-26T16:02:16.867 回答
1

您不能在模拟器上运行此代码。这就是错误所说的,即使它实际上并没有这么说。如果您在设备上运行,它可以正常工作。

所以只需将代码包装在#if !targetEnvironment(simulator)

于 2019-09-08T22:59:51.687 回答
-1

我使用Apple 的Juice示例大约一周时间使用 Xcode 11 和 iPhone 8 模拟器。没有大问题。然后,今天这篇文章中提出的问题出现了。尝试了各种事情,对我有用的是切换到不同的模拟器——iPhone 11。一切都恢复正常了。

于 2019-10-02T22:06:19.907 回答
-2

试试下面的代码

func performExistingAccountSetupFlows() {
    let requests = [ASAuthorizationAppleIDProvider().createRequest()]
    // Create an authorization controller with the given requests.
    let authorizationController = ASAuthorizationController(authorizationRequests: requests)
    authorizationController.delegate = self
    authorizationController.presentationContextProvider = self
    authorizationController.performRequests()
    
  }

于 2019-08-22T09:27:27.633 回答
-2

对我来说,它在转到设置 -> 所有者(您的)帐户 -> 密码和安全性 -> Apple ID 登录 -> 您关注的应用程序 -> 停止使用 Apple ID 后开始工作。这将一直有效,直到您从 XCode 再次运行它,即直到您重新安装它。然后你必须再做一次。

于 2020-04-19T04:30:21.733 回答