iOS13(测试版)Apple 登录错误
@available(iOS 13.0, *)
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {
// Handle error.
crprint(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
无法完成操作。(com.apple.AuthenticationServices.AuthorizationError 错误 1000。)
小智 8
我昨天遇到了同样的问题,我已经按照以下步骤修复了它:
Devices您应该找到您使用 Apple ID 登录的设备部分下,我不确定是什么导致了这个问题,可能是模拟器和 Apple ID 之间的一些问题。
就我而言,启动ASAuthorizationController包括请求ASAuthorizationPasswordProvider导致了错误。
\n\n\n无法完成操作。(com.apple.AuthenticationServices.AuthorizationError 错误 1000。)
\n
来自ASAuthorizationError.Code文档;1000是为了unknown
\n\n\nASAuthorizationError.Code.unknown
\n\n由于未知原因,授权尝试失败。
\n\n宣言
\n\nRun Code Online (Sandbox Code Playgroud)\n\ncase unknown = 1000\n参考:https://developer.apple.com/documentation/authenticationservices/asauthorizationerror/code/unknown \n
\n
现在这并不是特别有帮助,但确实给了我一个ASAuthorizationController线索来检查我的设置,我试图用来自ASAuthorizationAppleIDProvider&的 2 个请求启动该设置ASAuthorizationPasswordProvider,如下所示:
func loginWithAppleButtonPressed() {\n let appleSignInRequest = ASAuthorizationAppleIDProvider().createRequest()\n appleSignInRequest.requestedScopes = [.fullName, .email]\n\n let anySignInRequest = ASAuthorizationPasswordProvider().createRequest()\n\n let controller = ASAuthorizationController(authorizationRequests: [appleSignInRequest, \n anySignInRequest])\n controller.delegate = self\n controller.presentationContextProvider = self\n\n controller.performRequests()\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我在启用了 2FA 的 Apple ID 的模拟器上尝试了此操作,并且还在具有另一个未启用 2FA 的 Apple ID 的设备上尝试过此操作,两次都只是authorizationController(controller:didCompleteWithError error:)这样。
因此,为了简单起见,我ASAuthorizationController仅ASAuthorizationAppleIDProvider像这样启动:
func loginWithAppleButtonPressed() {\n let appleSignInRequest = ASAuthorizationAppleIDProvider().createRequest()\n appleSignInRequest.requestedScopes = [.fullName, .email]\n\n let controller = ASAuthorizationController(authorizationRequests: [appleSignInRequest])\n controller.delegate = self\n controller.presentationContextProvider = self\n\n controller.performRequests()\n}\nRun Code Online (Sandbox Code Playgroud)\n\n瞧\xc3\xa0!这次事情按预期进行了:
\n\nauthorizationController(controller:didCompleteWithError error:)给error 1000因此,在我的情况下似乎ASAuthorizationPasswordProvider是罪魁祸首,但由于ASAuthorizationError.Code.unknown是一般错误情况,因此该解决方案可能不适合您。
另外,就我而言,我只需要ASAuthorizationAppleIDProviderApple ID 登录,因此放弃了对ASAuthorizationPasswordProvider.
| 归档时间: |
|
| 查看次数: |
7029 次 |
| 最近记录: |