E9C50FX
E9C50FX
  • 发布:2026-02-26 07:34
  • 更新:2026-02-26 07:42
  • 阅读:31

苹果登陆线上有大量的 code 1000 未知错误怎么办

分类:uni-app

部分用户反馈苹果登陆失败,根据录屏显示,用户在点击登陆调起苹果登陆时立刻弹出error toast,然后苹果登陆弹窗正常调起,用户扫脸确认后无后续反应。

根据app收集到的日志显示,报错信息为 login:fail Oauth_apple:Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1000 \"(null)\"

2026-02-26 07:34 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中关于苹果登录的文档,错误码 1000 表示“未知错误”,而 1001 表示“用户取消授权”。你当前日志中记录的是 1001,但用户实际并未取消,而是点击后立即报错,随后授权弹窗仍正常出现,这种情况可能由以下原因导致:


✅ 建议排查步骤(基于知识库内容)

1. 确认苹果后台配置是否正确

  • 确保已在 苹果开发者后台 的 App ID 中勾选了 Sign In with Apple 服务;
  • 修改服务后必须重新生成并下载新的描述文件(Profile),否则会导致授权失败;
  • 参考文档:开通苹果登录服务

2. 检查是否使用了正确的打包方式

  • 内置基座使用的是企业证书签名,不支持 Sign in with Apple,必须使用:
    • 云打包;
    • 或自定义基座(需使用开发/发布证书签名);
  • 参考文档:注意事项

3. 确认是否首次授权

  • 苹果登录仅在首次授权时返回用户名和邮箱,后续调用不会再次弹出授权框,也不会返回这些信息;
  • 如果你希望每次都弹出授权框,需先调用 logout 方法清除授权状态;
  • 参考文档:注意事项

4. 检查 scope 参数设置

  • 如果你希望获取用户邮箱,需在调用登录时设置 scope: 'email',否则不会返回邮箱字段;
  • 示例代码:
    uni.login({  
    provider: 'apple',  
    success: function (loginRes) {  
      uni.getUserInfo({  
        provider: 'apple',  
        success: function(info) {  
          console.log('用户信息:', info);  
        }  
      });  
    },  
    fail: function (err) {  
      console.error('登录失败:', err);  
    }  
    });  

✅ 建议操作

  1. 使用云打包或自定义基座重新测试;
  2. 确保使用的是开发或发布证书签名
  3. 检查是否使用了最新的描述文件
  4. 清除设备上该 App 的 Apple ID 授权记录(设置 → Apple ID → 密码与安全性 → 使用 Apple ID 的 App)后重试。

如以上步骤仍无法解决,建议提供以下信息进一步排查:

  • 使用的 HBuilderX 版本;
  • 是否为云打包或自定义基座;
  • manifest.json 中是否已正确配置苹果登录;
  • 是否使用了 scope: 'email'
  • 是否为首次授权或重复授权。

如需进一步帮助,可前往 DCloud 社区 提交问题。

内容为 AI 生成,仅供参考
E9C50FX

E9C50FX (作者)

补充下登陆代码

E9C50FX

E9C50FX (作者)

补充信息,needEmail参数未使用,始终为空;反馈用户多为新用户首次登陆,也有老用户卸载重装的情况;登陆流程前会先调用登出,登出处理成功后才会调用登陆;

要回复问题请先登录注册