Flutter集成Sign In with Apple遇AuthorizationError 1000问题求助
你遇到的com.apple.AuthenticationServices.AuthorizationError error 1000是Apple登录集成中的常见配置类错误,结合你的场景,按以下步骤排查解决:
1. 修正Info.plist的URL Scheme配置
你当前配置里的CFBundleTypeRole设为Editor是错误的,Apple登录要求该字段必须为Viewer或None,正确配置如下:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Viewer</string> <key>CFBundleURLSchemes</key> <array> <string>com.domainname.travelbalance</string> </array> </dict> </array>
同时要确保这个URL Scheme和Apple开发者后台配置的返回URL完全一致,大小写也不能出错。
2. 核对开发者后台的标识符配置
- 打开Apple开发者后台的Sign In with Apple标识符,检查Primary App ID与你应用的Bundle ID(
com.domainname.travelbalance)完全匹配。 - 确认标识符的Capabilities中,Sign In with Apple已启用,且未关联错误的App ID。
3. 验证配置文件有效性
- 重新生成的Provisioning Profile必须包含Sign In with Apple权限,且绑定的Bundle ID正确。
- 在Codemagic打包时,确保使用的是最新生成的配置文件,清理CI环境中的旧缓存后重新构建。
4. 统一所有环节的Bundle ID
- 不管是Flutter项目
ios/Runner/Info.plist里的CFBundleIdentifier字段,还是Apple开发者后台的配置,Bundle ID必须完全一致,不能有任何拼写错误。
5. 清除设备端的登录缓存
在测试的iPhone上执行以下操作:
- 进入
设置 > [你的Apple ID] > 密码与安全性 > 应用使用Apple ID登录,找到你的应用并删除。 - 重启设备后重新测试登录流程。
6. 补充权限描述(可选但建议)
虽然不会直接导致1000错误,但为了合规性,建议在Info.plist中添加Apple登录的权限说明:
<key>NSAppleMusicUsageDescription</key> <string>使用Apple登录以安全访问你的账户</string>
如果以上步骤都尝试后仍未解决,建议重新在Apple开发者后台创建Sign In with Apple标识符,再重新生成所有证书和配置文件,全程确保Bundle ID的一致性。
内容的提问来源于stack exchange,提问作者Filmixyy
相关产品推荐
相关产品推荐

