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

相关推荐
梦曦i10 小时前
uni-router新推useUniEventChannel,彻底解决页面通信难题
前端·uni-app
宠友信息10 小时前
内容社区源码多端数据协议与 Spring Boot 状态流转实现思路
java·spring boot·websocket·uni-app
2501_9159184113 小时前
PerfDog 太贵?iOS 性能监控工具的功能对比与选择
android·ios·小程序·https·uni-app·iphone·webview
PedroQue9913 小时前
uni-router新推useUniEventChannel,彻底解决页面通信难题
前端·uni-app
2501_915909061 天前
IPA 深度混淆是什么意思?从混淆强度到实际效果的解读
android·ios·小程序·https·uni-app·iphone·webview
私人珍藏库1 天前
[Mac] 百度网盘批量转存分享工具 2.8.2.pkg
mac·软件·多功能
蜡台1 天前
修改Uniapp input 组件不刷新视图问题
前端·uni-app·input
宸翰2 天前
uni-app 设置 Android 底部虚拟导航栏背景色
android·前端·uni-app
千逐682 天前
UniApp 鸿蒙实战:音视频与多媒体处理完全指南
华为·uni-app·harmonyos·鸿蒙