
大家好这里是「敖行客研发实战日记」雨化田。在使用 UniApp 进行 iOS 打包上线时APNs 推送证书配置几乎是最容易卡住开发者的环节。很多同学会在开发环境、生产环境、证书类型、描述文件和 p12 导出之间来回切换稍有不慎就会导致推送失败排查问题也非常耗时。本文基于 Mac 端实际操作经验整理了一套相对完整的 iOS 推送证书配置流程。我们会从钥匙串生成 CSR 请求文件开始依次完成苹果开发者后台 App ID 配置、证书创建、描述文件生成以及 p12 证书导出并上传到 UniApp 后台。相比分开配置多套证书本文更推荐使用综合推送证书的思路尽量减少开发环境和生产环境之间的切换成本。希望这篇文章能帮你一次性理清 iOS APNs 证书配置流程少踩一些重复坑。1.Mac本地钥匙串文件生成主菜单 → 证书助理 → 从证书颁发机构请求证书文件名: CertificateSigningRequest……先保存一个目录中此目录以后可能长期用所以放到正规保存文件区进入苹果官网开发中心网站Apple Developer 先创建一个包的主体名与属性2. Identifiers 创建app主包名不作详细说明若是存在想要的包名可复用要勾选属性Push NotificationsBroadcast 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.cer4.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每安装一次会动态生成新的。2. uniapp打包前mainfest.json中 安卓/ios模块 勾选消息推送并配置在推送中显示logo3. 平台测试开发者中心https://dev.dcloud.net.cn/7.总结此过程细节很多若是新手刚接触可能会碰到文中没有提到坑多试几次就可以按照上述基本不会出差错。补充说明uni控制平台会要求填这填那个开发阶段有些数据可以先用假数据先填上再说敖行客介绍敖行客Allthinker聚焦服务企业研发团队及开发者以搭载自研企业级智能体引擎的 AT Work-Agent 研发工作台为核心支撑打造 AI 原生一体化研发协同体系依托企业智能体重构研发协作范式致力于赋能各类研发团队轻量化完成智能化升级。AT Work介绍AT Work-Agent 研发工作台是国内首个分钟级部署、AI 原生全链路研发协同平台依托企业级智能体赋能研发全流程零门槛打造专属 AI 研发团队实现研发效率与数据安全的双重飞跃。官网www.allthinker.com邮箱allthinkerallthinker.com