官网:https://developer.apple.com/account
避免他人登录apple账号的方法:就是让他们发测试设备的udid,手动注册到账号下,然后再给他们导p12证书和描述文件
iOS App Development iOS 开发版本签名(仅限 iOS App)
文件类型 | 作用 | 生成方式 | 主要用途 |
---|---|---|---|
CSR(.csr ) | 证书申请文件,生成 cer 证书 | 由开发者在 Mac 生成 | 用于申请 cer 证书 |
cer 证书(.cer) | 开发/分发证书,用于签名 | Apple 生成 | 代码签名应用 |
p12 证书(.p12) | 包含 cer 证书和私钥 | 由开发者导出 | 共享证书、CI/CD |
描述文件(.mobileprovision) | 设备授权,配合证书使用 | Apple Developer 生成 | 允许 iOS 设备安装应用 |
1.总体步骤
① 先在本地 生成 CSR 文件 ➝ ② 上传到 Apple ➝ ③ Apple 颁发证书(.cer)
有 CSR,你就无法申请 Apple 证书,也无法进行 iOS/macOS 应用签名!
2.打开钥匙串
3.生成 CSR(Certificate Signing Request,证书签名请求)文件
CSR(Certificate Signing Request,证书签名请求) 是一份请求文件,用于向证书颁发机构(CA,如 Apple)申请 SSL/TLS 证书或代码签名证书。
它包含:
公钥(public key):用于加密数据
私钥的签名(由本地生成,Apple 不会存储)
申请者信息(公司名称、地区、邮箱等)
在 iOS/macOS 开发中,CSR 文件主要用于:
申请 开发/发行证书(Apple Development & Distribution)
申请 APNs 证书(推送通知)
申请 Apple Pay 证书
如何在 macOS 生成 CSR 文件
🔹 方法 1:使用 Keychain Access(钥匙串访问)
1️⃣ 打开 钥匙串访问(Keychain Access)
2️⃣ 在顶部菜单栏选择 钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书
3️⃣ 在弹出的窗口中填写:
用户电子邮件(随便填,与 Apple ID 无关)
常用名称(你的名字或公司名称)
CA 电子邮件地址(留空!)
选择 存储到磁盘(不要选择"CA 电子邮件") 4️⃣ 点击 "继续",会生成一个 .certSigningRequest 文件
5️⃣ 上传到 Apple Developer 网站或 CA 机构,申请证书
🔹 方法 2:使用 OpenSSL(终端命令行) 如果你喜欢命令行,也可以用 OpenSSL 手动生成 CSR:
bash
# 生成私钥(2048 位)
openssl genrsa -out my_private_key.key 2048
bash
# 生成 CSR 文件
openssl req -new -key my_private_key.key -out my_csr.csr
然后用 my_csr.csr 去申请证书。
4.证书 .cer 申请流程
1️⃣ 在 macOS 生成 CSR 文件(通过 Keychain Access 或 OpenSSL)
2️⃣ 提交 CSR 给 Apple(或其他证书机构)
3️⃣ 证书机构颁发 .cer 证书(下载并导入 Keychain)
4️⃣ 导出 .p12 证书(包含私钥,用于应用签名)
5️⃣ 在 Xcode 或服务器中使用 .p12 进行代码签名
5.导出p12证书
.p12 证书(PKCS#12 格式)用于 存储公钥、私钥和 Apple 证书,iOS/macOS 开发者 需要它来签名应用,如:
✅ 发布 iOS/macOS 应用(App Store / Ad Hoc)
✅ APNs 推送通知(Apple Push Notification Service)
✅ 签名企业应用(In-House 证书)
💡 使用 Keychain Access(钥匙串访问)导出 .p12
1️⃣ 打开钥匙串访问(Keychain Access)
在 macOS 上,打开 钥匙串访问(Keychain Access)
选择左上角的 登录(Login)钥匙串
2️⃣ 找到你的开发者证书
在 类别(Category)中选择 我的证书(My Certificates)
找到 Apple Development: xxx 或 Apple Distribution: xxx(其中 xxx 是你的 Apple ID)
3️⃣ 右键点击证书 -> 导出
右键点击 你的开发者证书(确保它带有私钥)
选择 导出"xxx"...(Export "xxx")
4️⃣ 选择导出格式
选择 "Personal Information Exchange (.p12)"
点击 保存,并选择存放路径(比如桌面)
5️⃣ 设置导出密码(可选)
你可以输入密码保护 .p12 证书(如果要给别人用,建议加密码)
⚠️ 记住这个密码,使用 .p12 签名时需要输入!
6️⃣ 输入 Mac 登录密码
macOS 可能会提示你输入 Mac 的管理员密码,输入后点击 允许
7️⃣ 导出成功,得到 .p12 证书文件 🎉
6.双击安装p12
7.安装描述文件(Provisioning Profile)
默认情况下,Xcode 会自动安装和管理描述文件(如果启用了自动管理签名)。
手动管理签名时,需要自己下载和安装 .mobileprovision 文件。
📌 Xcode 自动安装描述文件的情况
如果你的 Apple 开发者账号已经正确配置,并且使用的是 "自动管理签名"(Automatically manage signing),Xcode 会自动下载并安装所需的描述文件(Provisioning Profile)。
步骤:
打开 Xcode,进入你的项目。
选择项目(Project)-> TARGETS -> Signing & Capabilities。
勾选 "Automatically manage signing"(自动管理签名)。
选择你的 Apple Developer Team(需要登录 Apple 开发者账号)。
Xcode 会自动创建、更新或下载 合适的 Provisioning Profile。
这种方式适用于:
开发(Development)
App Store 发布(App Store Distribution)
Ad Hoc / Enterprise 分发(如果有相应权限)
📌 什么时候需要手动安装描述文件?
Xcode 不会自动安装描述文件 的情况:
使用手动管理签名(未勾选 "Automatically manage signing")。
描述文件已过期(需要去 Apple Developer 重新下载)。
Ad Hoc / 企业证书(Enterprise)分发,必须手动生成并安装 .mobileprovision 文件。
使用第三方 CI/CD 工具(如 Fastlane),通常需要手动指定描述文件。
手动安装的方法:
在 Apple Developer 账号(Apple Developer)中下载 .mobileprovision 文件。
双击 .mobileprovision 文件,Xcode 会自动识别并安装到本机。
重启 Xcode,确保能正确读取新的描述文件。
8.📌 什么时候需要用这些证书?
本地开发调试
需要 Development 证书(.cer)+ 开发描述文件(.mobileprovision)。
Ad Hoc / 内测分发
需要 Distribution 证书(.cer)+ Ad Hoc 描述文件(.mobileprovision)+ p12 证书。
App Store 上架
需要 Distribution 证书(.cer)+ App Store 描述文件(.mobileprovision)+ p12 证书。
9.📌 为什么 p12 和 描述文件 必须一起使用?
p12 证书 负责 代码签名(确保代码来源可信)。
描述文件(mobileprovision) 负责 设备授权(允许哪些设备安装)。
没有 p12,Xcode 不能签名;没有描述文件,设备不能安装。