UniApp iOS APNs 推送证书一站式配置

大家好,这里是「敖行客研发实战日记」雨化田。

在使用 UniApp 进行 iOS 打包上线时,APNs 推送证书配置几乎是最容易卡住开发者的环节。很多同学会在开发环境、生产环境、证书类型、描述文件和 p12 导出之间来回切换,稍有不慎就会导致推送失败,排查问题也非常耗时。

本文基于 Mac 端实际操作经验,整理了一套相对完整的 iOS 推送证书配置流程。我们会从钥匙串生成 CSR 请求文件开始,依次完成苹果开发者后台 App ID 配置、证书创建、描述文件生成,以及 p12 证书导出并上传到 UniApp 后台。

相比分开配置多套证书,本文更推荐使用综合推送证书的思路,尽量减少开发环境和生产环境之间的切换成本。希望这篇文章能帮你一次性理清 iOS APNs 证书配置流程,少踩一些重复坑。

1.Mac本地钥匙串文件生成:

主菜单 → 证书助理 → 从证书颁发机构请求证书(文件名: CertificateSigningRequest......)先保存一个目录中(此目录以后可能长期用,所以放到正规保存文件区)

进入苹果官网开发中心网站(Apple Developer) 先创建一个包的主体名与属性

2. Identifiers 创建app主包名(不作详细说明,若是存在想要的包名可复用)

要勾选属性:Push Notifications(Broadcast Capability 不用勾选)这是重点

3. Certificates

创建三个证书 (重点是推送证书)

开发选择:iOS App Development

生产选择:Apple Distribution

推送证书:Apple Push Notification service SSL (Sandbox & Production)

**(Sandbox & Production)**是开发测试与生产都可以用

Apple Push Notification service SSL **(Sandbox)**这个是测试用

uniapp开发经测试可以用综合证书,若是换成两个证书是需要uniaap控制中心(有时会乱跳页面)进行切换 有一些操作上麻烦。

三个证书选择属性后 再选择关联本地CertificateSigningRequest文件 导出文件xxx.cer

4.Profiles

描述文件 要正确的选择关联上面创建的的证书名称 下载描述文件

开发,生产,推送 分成三个目录(防止重名文件覆盖)

5. 双击生成的xxx.cer(共三个)会在【钥匙串访问】工具有显示

5.1 Apple Sandbox Push Services(推送证书)

右键→显示简介→信任→始终信任→回列表→导出

(注意记住密码.p12证书,此证书是放到你开发关联账号的uniapp控制平台上使用)

5.2 iPhone Developer(开发证书)

右键(同上导出.p12证书)

5.3 iPhone Distribution (生产证书)

右键(同上导出.p12证书)

6.测试

  1. 测试能否推送: 先获取deviceToken 怎样获取安装到手机上的token (可百度找方法)

在此说明这个token不是uniapp的平台的token,而是你app在此手机上生成的设备token,每安装一次会动态生成新的。

  1. uniapp打包前mainfest.json中 安卓/ios模块 勾选消息推送并配置在推送中显示logo

  2. 平台测试:开发者中心https://dev.dcloud.net.cn/

7.总结

  • 此过程细节很多,若是新手刚接触可能会碰到文中没有提到坑,多试几次就可以,按照上述基本不会出差错。

  • 补充说明:uni控制平台会要求填这填那个,开发阶段有些数据可以先用假数据先填上再说

敖行客介绍:

敖行客(Allthinker)聚焦服务企业研发团队及开发者,以搭载自研企业级智能体引擎的 AT Work-Agent 研发工作台为核心支撑,打造 AI 原生一体化研发协同体系,依托企业智能体重构研发协作范式,致力于赋能各类研发团队轻量化完成智能化升级。

AT Work介绍:

AT Work-Agent 研发工作台是国内首个分钟级部署、AI 原生全链路研发协同平台,依托企业级智能体赋能研发全流程,零门槛打造专属 AI 研发团队,实现研发效率与数据安全的双重飞跃。

官网:www.allthinker.com

邮箱:allthinker@allthinker.com

相关推荐
游戏开发爱好者817 小时前
iOS应用加固方案全解析:源码加固与IPA在线加固对比
android·macos·ios·小程序·uni-app·cocoa·iphone
满栀58518 小时前
uni-app 小程序开发实战:从路由踩坑、数据对接到 UI 优化的全方位复盘
ui·uni-app·notepad++
liliangcsdn2 天前
如何在mac系统安装和切换node版本
mac
他叫自己MR张2 天前
uni-app 应用启动报uni-ad业务状态异常(-9002)【已解决】
uni-app
2501_915909062 天前
iOS应用性能监控 Instruments工具与崩溃日志分析完整指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915918412 天前
详解iOS App上架至App Store的全流程步骤与注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
anyup2 天前
终于在今天入选了 Gitee GVP,这真值得庆祝~
前端·uni-app·开源
虚惊一场3 天前
撤销为什么只需要 pop:用事件重放实现离线台球计分
微信小程序·uni-app
虚惊一场3 天前
从一个小程序到一座工具箱:uni-app 分包与 Flask 微服务实践
微信小程序·uni-app
Cry丶3 天前
【已解决】adb devices 能识别手机,但 HBuilderX 搜索不到设备的避坑指南
android·adb·uni-app·hbuilderx·真机调试