ios打包需要的证书及步骤

官网: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 不能签名;没有描述文件,设备不能安装。

相关推荐
Echo-潔15 分钟前
iOS创建Certificate证书、制作p12证书流程
ios·ios 生成app打包证书
Tassel_YUE2 小时前
VMware Fusion安装win11 arm;使用Mac远程连接到Win
arm开发·macos
@PHARAOH16 小时前
HOW - 在 Mac 上的 Chrome 浏览器中调试 Windows 场景下的前端页面
前端·chrome·macos
yangpipi-19 小时前
10.王道_HTTP
网络协议·http·ios
鸿蒙布道师1 天前
鸿蒙NEXT开发动画案例2
android·ios·华为·harmonyos·鸿蒙系统·arkui·huawei
海尔辛1 天前
学习黑客 MAC 地址深入了解
学习·macos·php
I烟雨云渊T1 天前
iOS 模块化开发流程
ios
刘小哈哈哈1 天前
Lost connect to debugger on ‘iphone‘
ios·iphone
I烟雨云渊T1 天前
iOS蓝牙技术实现及优化
macos·ios·cocoa
大力水手~1 天前
微信小程序上传视频,解决ios上传完video组件无法播放
ios·微信小程序·音视频