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

使用RNFirebase实现Apple登录时持续触发com.apple.AuthenticationServices.AuthorizationError error 1000错误

使用RNFirebase实现Apple登录时持续触发com.apple.AuthenticationServices.AuthorizationError error 1000错误

我之前帮不少开发者排查过这个头疼的错误,error 1000本质上就是Apple Sign-In的基础配置环节出了疏漏——哪怕你觉得已经跟着步骤走全了,也很容易在细节上踩坑。结合你用RNFirebase+EAS Build的场景,咱们一步步来排查:

一、先啃苹果开发者后台的核心配置

这是最容易出问题的环节,别嫌麻烦,每一项都要核对:

  • 确认你的**App ID(包含dev和prod对应的Bundle ID)**都已经开启了Sign in with Apple功能,而且要确保是针对当前项目的Bundle ID,不是其他项目的
  • 检查Sign in with Apple的配置页,是否正确关联了你的Primary App ID,有没有遗漏返回URL的配置(Firebase会自动处理回调,但要保证开发者后台的Team ID、Bundle ID和Firebase项目里的完全一致)
  • 重新生成对应的Provisioning Profile——不管是开发环境还是生产环境的Profile,旧的Profile经常会因为权限更新不及时导致失效,生成后要确保它包含了Sign in with Apple的权限

二、EAS Build的配置细节不能漏

你用的eas build --profile development:device --platform ios和eas build --profile production --platform ios命令,要盯紧这些点:

  • 打开你的eas.json,检查对应profile的配置,是否正确指定了Bundle ID、Team ID,并且开启了Sign in with Apple的entitlement
  • 去EAS Build的构建日志里搜“Sign in with Apple”,看看构建过程中是否正确嵌入了对应的entitlements文件,有时候EAS的自动处理会因为配置冲突失效

三、RNFirebase代码与Firebase项目配置

代码和Firebase后台的配合也不能出错:

  • 调用signInWithApple时,nonce的生成必须合规:得是随机的、足够长度的字符串,绝对不能重复使用同一个nonce
  • 去Firebase项目的「Authentication」->「Sign-in method」里,确认Apple登录已经开启,并且正确配置了Team ID和Service ID(Service ID一般是你的Bundle ID加后缀,比如com.yourapp.apple-signin,要和开发者后台的完全匹配)
  • 检查Info.plist里的CFBundleURLTypes,是否包含了Apple登录的回调URL,格式一般是applinks:你的Bundle ID,或者对应Service ID的URL Scheme

四、物理设备与TestFlight测试的小细节

  • 测试用的Apple ID必须是开发者后台添加的测试用户,或者是已经完成邮箱验证的真实Apple ID,未验证的账号大概率会触发错误
  • 用TestFlight测试时,要确保TestFlight版本对应的Provisioning Profile是生产环境的,并且已经关联了Sign in with Apple权限
  • 有时候设备的Apple ID缓存会搞事情,可以试试退出设备上的Apple ID,重新登录后再测试

如果以上步骤都排查完还是没解决,建议先试试用Xcode本地构建测试(不用EAS),这样能拿到更详细的错误日志,定位问题会更精准。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 11:08:04