ios:证书配置

一、证书整套操作核心目的(一句话)

苹果强制安全机制:证明这个App是你本人开发者账号合法产出、未被篡改、有权限调用内购/iCloud/小组件能力,没有这套签名,IPA无法安装到任何手机、无法上传TestFlight/App Store。

细分4个作用

  1. 防篡改:打包后文件哈希签名,别人改一行代码就无法安装;
  2. 权限授权:内购、iCloud、App Groups小组件共享、后台能力全部靠App ID绑定开通;
  3. 身份确权:上架后归属你的开发者账号,收益、下架权都归你;
  4. 设备安装准入:TestFlight内测、商店下载都校验合法签名。

二、证书全套分为 4 大核心步骤(固定流程)

步骤1:生成证书请求文件 CSR(本地Mac操作)

用电脑钥匙串生成一份加密请求文件,用来向苹果申请发布证书。

产出:CertificateSigningRequest.certSigningRequest

步骤2:开发者后台创建【Apple Distribution 发布证书】

唯一用于打包上架TestFlight/商店的证书,一个账号可以多张。

  • 上传CSR → 苹果下发.cer证书 → 导入钥匙串;
  • 可选导出.p12,用于多台电脑、云端CI打包签名。

步骤3:注册 App ID(绑定Bundle ID + 开通App权限)

这是权限核心:

  1. 填写唯一包名 shturl.cc/r(和Xcode完全一致);
  2. 勾选需要的能力:内购、iCloud、App Groups(小组件);
    没有这一步,内购直接无法调通、小组件数据无法共享。

步骤4:生成描述文件 .mobileprovision(授权打包)

把「证书 + App ID + 分发渠道」三者打包成一个配置文件:

  • 上架用:App Store Connect 类型
  • 真机调试用:Development开发类型;
    Xcode自动签名会后台拉取,手动打包/云端CI必须上传这个文件。

三、简化版记忆口诀

  1. 本地出CSR申请文件
  2. 后台拿发布证书
  3. 注册带权限的App ID
  4. 生成描述文件完成授权
    最终Xcode绑定账号自动签名,打包即可合法上传。

补充两个易混概念

  1. 开发证书Development:只给自己电脑连iPhone真机调试用,不能打包上架;
  2. 发布证书Apple Distribution:唯一打包上传TestFlight、App Store使用。

M1 Mac 上架 iOS App 证书完整一步一步操作(仅证书部分)

一、在苹果开发者后台创建 Apple Distribution 发布证书(上架/TestFlight唯一证书)

1. 生成 CSR 文件(钥匙串操作)

  1. 打开「钥匙串访问」→ 顶部菜单栏 证书助理 → 从证书颁发机构请求证书
  2. 用户电子邮件地址:填你的开发者 Apple ID
  3. 常用名称:随便填,比如 iOS Distribute
  4. 选择:存储到磁盘 → 继续,保存 CertificateSigningRequest.certSigningRequest

2. 后台创建发布证书

  1. 打开 developer.apple.com → Certificates, Identifiers & Profiles → Certificates 点右上角 +
  2. 证书类型勾选:Apple Distribution(App Store and TestFlight)→ Continue
  3. 上传刚才导出的 .certSigningRequest 文件 → Continue
  4. 下载生成的 distribution.cer 证书,双击自动导入钥匙串。

3. (可选,给其他电脑用)导出 p12 证书

  1. 钥匙串 → 我的证书,找到刚导入的 Apple Distribution + 你的名字 那条证书
  2. 右键 → 导出
  3. 文件格式:个人信息交换(.p12)
  4. 设置密码并记住,保存为 dist.p12

二、绑定 App ID(必须和项目 Bundle ID 一致)

  1. 同一后台进入 Identifiers → + New App ID
  2. App ID Prefix 默认即可
  3. Bundle ID:Explicit ,填写 com.wheremycar.WhereMyCar
  4. 勾选开启权限:
    • In-App Purchases(内购)
    • iCloud
    • App Groups(小组件共享)
  5. Save 保存。

三、创建 App Store 类型描述文件 mobileprovision

  1. 进入 Profiles → + New Profile
  2. 分发类型:App Store Connect
  3. App ID:选中上面创建的 com.wheremycar.WhereMyCar
  4. Certificates:勾选刚才的 Apple Distribution 发布证书
  5. 随便命名,Generate → 下载得到 .mobileprovision 文件。

四、Xcode 本地关联证书(M1最省事自动签名)

  1. Xcode 打开项目 → 选中主 Target → Signing & Capabilities

  2. Team:选择你的开发者账号

  3. 勾选 Automatically manage signing

  4. Bundle Identifier 严格填写 com.wheremycar.WhereMyCar

  5. Xcode 会自动拉取后台证书、自动生成匹配的描述文件,无需手动导入 .mobileprovision

  6. Widget 扩展 Target 同样操作

  • Bundle ID:com.wheremycar.WhereMyCar.widget
  • 同样开启自动签名,权限同步勾选 App Groups、iCloud。

五、打包校验时证书生效检查

  1. Archive 归档后点 Validate App
  2. 签名环节选择自动管理签名,校验不报错 = 证书全套配置完成
  3. 随后 Distribute → Upload 上传即可。

极简总结(记忆版)

钥匙串生成CSR → 后台建Apple Distribution证书 → 注册带权限AppID → 生成App Store描述文件 → Xcode勾选自动签名绑定Team → 主App+Widget双Target统一配置完毕。

相关推荐
FeliksLv3 小时前
从 +load 到 Swift Macros:自动注册的演进与实践
ios·objective-c·swift
2501_9159184116 小时前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析
android·ios·小程序·https·uni-app·iphone·webview
白玉cfc1 天前
【iOS】weak底层原理
macos·ios·cocoa
Lvan的前端笔记1 天前
开通IOS开发账号
ios
2501_916008892 天前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
a4493153622 天前
iPhone Face ID 故障的分层诊断——原深感系统与主板加密配对机制
macos·ios·电脑·cocoa·iphone
白玉cfc2 天前
【iOS】内存五大分区
macos·ios·cocoa
二流小码农2 天前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos