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

使用Cordova与Xcode9构建应用时推送通知配置文件报错求助

解决Cordova iOS推送通知配置文件错误的方案

你遇到的问题核心其实是对Apple开发者后台配置流程的理解误区——APNs证书并不是用来直接创建Provisioning Profile的,而是要先给你的App ID开启推送权限,再基于关联该App ID的开发/分发证书生成包含推送权限的配置文件。下面是一步步的解决步骤:

1. 给你的App ID开启Push Notifications权限

  • 登录Apple Developer Center,进入「Identifiers」页面,找到对应你的Bundle ID的App ID
  • 点击「Edit」,在「Capabilities」区域找到「Push Notifications」并勾选
  • 按照页面提示,分别生成Development APNs Certificate和Production APNs Certificate(根据你构建的环境选择,建议两类都生成),下载后双击安装到你的Mac钥匙串中

2. 重新生成包含推送权限的Provisioning Profile

  • 进入「Profiles」页面,点击「+」创建新配置文件:
    • 开发环境选「App Development」,发布环境选「App Distribution」
    • 下一步选择你刚才开启了Push Notifications的App ID
    • 下一步选择对应的开发/分发证书(该证书已和开启推送权限的App ID关联,因此生成的配置文件会自动包含推送权限)
    • 开发环境需要选择测试设备,分发环境无需选择
    • 给配置文件命名后下载,双击安装到Xcode中

3. 检查Cordova项目配置与Xcode设置

  • 确认已安装推送相关插件,比如cordova-plugin-push,可通过命令cordova plugin list验证
  • 执行cordova clean ios清理缓存,再重新构建项目:cordova build ios
  • 构建完成后,用Xcode打开platforms/ios下的项目文件,进入「Signing & Capabilities」页面:
    • 确认「Push Notifications」已在Capabilities列表中
    • 确认选中的Provisioning Profile是你刚重新生成的那一个

4. 验证配置文件权限

  • 在Apple Developer Center的「Profiles」页面,点击你生成的配置文件,查看「Enabled Capabilities」里是否包含「Push Notifications」,有则说明配置正确

简单来说,APNs证书是用来和Apple推送服务器建立连接的凭证,而推送权限是通过App ID的Capability赋予的——只要App ID开启了该权限,基于它生成的配置文件就会自动携带推送权限,不需要单独用APNs证书创建配置文件。

内容的提问来源于stack exchange,提问作者Sergej

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:19:21