SFAuthenticationSession授权弹窗显示Xcode项目名而非应用名原因咨询
关于SFAuthenticationSession授权弹窗显示项目名而非应用名称的问题解答
嘿,这个问题我之前做OAuth授权的时候也踩过坑,给你详细捋捋:
为什么当前显示的是Xcode项目名?
这是因为授权弹窗里的应用名称是读取你App的Info.plist配置,而非直接调用App Store Connect里的元数据。默认情况下,Xcode创建项目时:
- 如果
Info.plist里没设置CFBundleDisplayName(应用显示名称),系统会自动 fallback 到CFBundleName的值,而这个值默认就是你的Xcode项目名称。 - Debug环境下,App不会自动关联App Store Connect的应用信息,所以自然不会显示你准备提交的正式应用名称。
提交到App Store后会显示正确的应用名称吗?
不一定——核心还是看你Info.plist里的配置:
- 如果你在
Info.plist里正确设置了CFBundleDisplayName为你想要展示的应用名称(和App Store Connect里的名称一致最佳),那不管是Debug测试还是上线后,弹窗都会显示这个正确名称。 - 要是没设置
CFBundleDisplayName,哪怕提交到App Store,弹窗依然会显示CFBundleName的值(也就是你的Xcode项目名),不会自动替换成App Store里的应用名称。
快速解决办法
直接在Info.plist里添加或修改CFBundleDisplayName字段就行:
- 打开项目的
Info.plist文件 - 添加一条新的键值对:
- 键:
Bundle display name(或者直接用原始键CFBundleDisplayName) - 值:填写你想要在授权弹窗里显示的应用名称
- 键:
这样不管是本地调试还是上线后,弹窗都会显示你设置的正确名称啦~
内容的提问来源于stack exchange,提问作者heyfrank
相关产品推荐
相关产品推荐

