iOS开发进阶(二十四):一文读懂iOS发布证书,描述文件到期后,在工程中如何进行替换

文章目录

一、前言

替换过期的 iOS 发布证书和描述文件,核心思路是:先在苹果开发者网站生成新的,再下载到 Mac,最后在 Xcode 项目中完成配置。

整个过程可以简单分为三步:

二、证书备份与清理

准备工作 (在开始前,请务必完成此步)

· 备份旧证书 (.p12 文件):在 Mac 的"钥匙串访问 "中找到旧证书,右键导出为 .p12 格式。这是为了防止以后换电脑或私钥丢失后无法更新应用。

· 清理过期证书:在"钥匙串访问"里,检查并手动删除所有已过期的证书。

注意⚠️:证书的有效期通常为1年,发布证书为3年,过期必须更换;Provisioning Profile有效期通常是1年。

三、证书与描述文件替换

步骤一:更新发布证书 (iOS Distribution Certificate)

  1. 登录并进入管理页:前往 Apple Developer 登录,进入 Certificates, Identifiers & Profiles。
  2. 新建证书:点击 Certificates -> + 号 -> 选择 Apple Distribution 或 iOS Distribution (App Store)。
  3. 生成CSR文件:按照指引,在本地 Mac 上通过"钥匙串访问" -> "证书助理" -> "从证书颁发机构请求证书"生成一个 .certSigningRequest (CSR) 文件。
  4. 上传并下载:上传刚生成的 CSR 文件,生成新的发布证书(.cer 格式)并下载。
  5. 安装:双击下载的 .cer 文件,它会自动安装到"钥匙串访问"中。

步骤二:更新描述文件 (Provisioning Profile)

  1. 进入管理页:在开发者网站的 Certificates, Identifiers & Profiles 中,点击左侧的 Profiles。
  2. 编辑/新建:找到对应过期文件,点击 Edit;或者直接点击 + 号新建一个新的。
  3. 重新生成:在编辑页面重新选择 App ID 和第一步刚创建好的新发布证书。
  4. 下载并安装:生成完成后下载新的 .mobileprovision 文件,然后双击即可自动安装到 Xcode。

步骤三:在 Xcode 项目中替换

· 方法一:自动管理签名(推荐)

在 Xcode 中打开项目,找到 Signing & Capabilities 选项卡,确保勾选上 Automatically manage signing。然后在 Team 下拉菜单中重新选择你的开发者账号,Xcode 会自动处理证书同步。

· 方法二:手动管理签名

  1. 在 Signing & Capabilities 中 取消勾选 Automatically manage signing。
  2. 在 Provisioning Profile 下拉菜单中,选择你刚下载并安装的最新描述文件。
  3. 在 Signing Certificate 中,选择你刚安装的新发布证书。

步骤四:验证与清理

· 验证签名:查看 Signing & Capabilities 界面,确保没有报错。

· 清理缓存:如果签名验证通过但编译报错,建议清理一下 Xcode 的缓存。在菜单栏选择 Product -> Clean Build Folder。如果问题依旧,可以手动删除 Derived Data 文件夹。

替换证书和描述文件后,通常需要重新打包应用并提交审核,才能为用户提供更新版本。

相关推荐
QWsin11 小时前
「轻漾」App隐私政策
ios·个人开发
season_zhu11 小时前
近段时间,AI加持下,我的开发感悟
ios
用户380341658829712 小时前
Flutter 迁 SwiftUI:AI 把页面"搬"过来只用了两周,我们补结构花了两个月
ios·swift
茶底世界之下15 小时前
四角变换后的最小包围视口,为什么不能只把宽高取整?
ios·swift
茶底世界之下15 小时前
羽毛颜色已经很鲜艳,还要继续加色吗?用 Awaking 试一次减饱和
前端·ios·运营
天神哥哥啊18 小时前
cocos联调注意事项-IOS
ios·cocoa·xcode
终端安全笔记18 小时前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios
Carson带你学Android19 小时前
OpenAI Dots 登陆手机端:手机上派任务,AI 在云端写代码
android·ios
老李IT笔记1 天前
设备指纹由哪几个字段拼出来:换一块主板会变成新设备
ios·智能手机
andyweike1 天前
iOS App 测试
ios·测试·ad hoc·分发