You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Sign in with Apple报错AuthorizationError Code=1001如何解决?

苹果登录报错Code=1001解决方案

Error Code=1001 对应系统定义的ASAuthorizationErrorCanceled,除了用户主动点击授权弹窗取消按钮的场景外,配置错误、代码逻辑缺失也会触发该报错,可按以下步骤排查:

  • 检查苹果登录请求构造逻辑,你当前仅上传了代理实现,未提供请求发起代码,标准的请求构造写法如下:
if #available(iOS 13.0, *) {
    let appleIDProvider = ASAuthorizationAppleIDProvider()
    let request = appleIDProvider.createRequest()
    // 仅可传入系统定义的.fullName和.email权限,不要传空或自定义权限
    request.requestedScopes = [.fullName, .email]
    let authorizationController = ASAuthorizationController(authorizationRequests: [request])
    authorizationController.delegate = self
    // 必须设置presentationContextProvider,漏设会导致弹窗无法弹出,系统自动返回取消错误
    authorizationController.presentationContextProvider = self
    authorizationController.performRequests()
}
  • 检查是否实现了ASAuthorizationControllerPresentationContextProviding代理,该代理为必填项,实现代码如下:
@available(iOS 13.0, *)
extension LoginViewController: ASAuthorizationControllerPresentationContextProviding {
    func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
        return self.view.window!
    }
}
  • 检查运行环境:

    • 模拟器需要先登录有效的Apple ID并开启iCloud功能
    • 真机不要使用越狱设备,越狱设备会被系统直接拦截苹果登录请求
    • 确认当前使用的Apple ID没有被限制使用苹果登录功能
  • 检查配置一致性:确认Xcode中配置的Bundle ID和开发者后台Certificates and ids中绑定的Bundle ID完全一致,Sign in with Apple能力已开启且同步到所有构建目标。

现有代码优化建议

你当前提供的代理实现存在两处隐患,建议调整:

  1. 避免强制解包fullName?.givenName,苹果登录仅首次授权会返回fullName和email字段,后续授权这两个字段会返回空,强制解包会触发崩溃,建议修改为可选绑定处理
  2. 当前所有分支都调用showalertforregister,没有区分授权成功、授权失败的场景,建议拆分逻辑做不同处理

内容的提问来源于stack exchange,提问作者app android

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 03:06:08