Xcode13自动管理签名无法找到iOS App Store配置文件且推送功能报错
问题原因
这是Xcode 13版本的已知逻辑bug:
- 当App ID新增推送通知等服务权限后,Xcode 13的自动签名功能不会主动触发Apple Developer后台重新生成对应新增权限的Provisioning Profile,会一直复用本地旧的无对应权限的配置文件,即便删除本地配置后重新拉取,也不会触发后台重新生成流程。
- Xcode 13对新增了特殊权限的App ID的自动匹配逻辑存在缺陷,会出现无法找到对应配置文件的报错,而手动签名可以直接选中带正确权限的配置文件,绕开了这个匹配bug。
解决步骤
- 首先登录Apple Developer后台,进入「Identifiers」页面,确认对应项目的App ID已经正确开启推送通知权限,状态显示为已生效后等待5分钟,等待后台权限同步完成。
- 打开Xcode项目的「Signing & Capabilities」页面,先取消勾选
automatically manage signing,将所有签名配置选项都选择为「None」,清空项目当前的签名关联。 - 执行终端命令删除本地所有缓存的配置文件:
rm -rf ~/Library/MobileDevice/Provisioning\ Profiles/* rm -rf /Library/MobileDevice/Provisioning\ Profiles/* - 打开Xcode设置 → 「Accounts」页面,选中当前使用的Apple ID,点击右下角的减号删除账号,重启Xcode后重新登录该Apple ID,清空Xcode的账号缓存。
- 回到项目的「Signing & Capabilities」页面,重新勾选
automatically manage signing,选择对应的开发团队,等待Xcode自动拉取新生成的Provisioning Profile,检查配置文件的权限列表中是否包含aps-environment字段,确认存在后即可正常打包上传。 - 如果上述操作后仍未解决,可以先手动在Apple Developer后台为对应App ID生成一个带推送权限的App Store类型Provisioning Profile,下载后双击安装到本地,再开启自动签名即可正常匹配。
内容的提问来源于stack exchange,提问作者nasonov
相关产品推荐
相关产品推荐

