iOS打包,打P12证书,Hbuilder-iOS软件发行保姆级教程
2026/7/18 3:52:42 网站建设 项目流程

好久没有写博客了,前两天公司需要上架uniapp转ios的软件,网上的都好杂,目前我看到的没有任何一个完整的流畅的步骤,也可能是不一样的人,不一样的操作步骤,下面是根据我的操作流程总结的步骤,仅供参考,如果对你有帮助,记得三连

前提必看!!!!!!!!
以下所有操作步骤均在Mac完成,除了Hbuilder相关部分,记住一定要在Mac完成

当然还有香banana云编可用,但是需要花钱,打工人势必要用免费的,拒绝做冤种从我做起

如果只想看怎么操作,就跟着操作步骤走,如果想知道某个文件什么功能,在关键的地方会有XXX是什么?可以直接点击去看下面对应的简介,如图

一、 生成.p12文件 (私钥证书)

操作步骤

1. 全局搜索钥匙串访问

2. 开始创建证书

左上角菜单栏钥匙串访问—证书助理—从证书颁发机构请求证书…

3. 证书信息

用户电子邮箱地址:企业邮箱
常用名称:可以随便,我起的公司名
注意:请求选择第二项保存到磁盘

4. 点击继续就会生成一个CertificateSigningRequest.certSigningRequest文件

CertificateSigningRequest.certSigningRequest文件是什么?

5. 打开苹果开发者官网先登录,然后依次点击头像 — account

6. 开始生成证书

7. 创建证书

点击certificates(证书)旁边的加号

8. 选择版本

选择 Apple Distribution(苹果发行版本)点击 Continue

9. 选择CSR文件

选择刚才在钥匙串访问中生成的 CertificateSigningRequest.certSigningRequest(CSR文件)然后点击Continue

10. 生成distribution.cer文件

自动帮你生成一个distribution.cer文件,点击Download进行下载,然后双击那个文件就会钥匙串访问中生成一个证书

11. 证书密钥对照(保证和截图一样才有可能成功)

打开钥匙串访问选择证书菜单(恕我实在无法给各位展示证书信息,马赛克部分就是你账号注册时的公司名称)但是注意,证书下应该会有一个对应的专用密钥,这个密钥的名称就是你刚刚生成CSR文件的时候填写的那个名称,如果没有则是不对的,如果没有的话,目前太忙还没摸索,烦请摸索出来的大佬留下你的评论,我会及时更新博文

12. 下载Apple WWDRCA G3.cer

现在的证书目前是不受信任状态,右键应该是无法导出,各位可以试试,如果可以应该可以免去下载Apple WWDRCA G3.cer这一步,否则就先去Apple PKI下载一个Apple WWDRCA G3.cer这个文件,双击之后就会出现一个Apple Worldwide Developer Relations Certification Authority证书

Apple WWDRCA G3.cer是什么?

13. 导出

下载好G3证书之后随着就会发现你下载的证书变成此证书有效,然后就能导出了

14. 点击导出,开始导出.p12文件

.p12证书是什么?


15. 点击保存后输入密码(注意!!!!!!!!注意!!!!!!!)记住这个密码,别忘了

16. 输入密码之后,再输你电脑的密码,就会得到一个证书.p12文件,保留好这个证书文件,至此.p12及第一部分搞定(对应Hbuilder中的私钥证书)

17. 博客写的好累!!!!!!!(这次三连吧)

二、创建 App ID

1. 点击Identifiers(标识符)右边的加号

2. 选择App IDs,点击Continue

3. 选择App,点击Continue

4. 填写Description(描述)和Bundle ID,填好之后点击Continue,然后点击Register,至此你的App id就创建好了

三、创建发布描述文件

1. 点击Profiles右边的加号

2. 选择App Store Connect,你如果是别的系统的可以选择别的,然后点击Continue

3. 选择第二部创建好的APP ID,然后点击Continue

4. 如果你有多个证书会让你选择对应的证书(如果没有这一步无所谓,直接下一步)

5. 生成.mobileprovision文件

命名,没有规范,想起啥名都可以,然后点击Generate,然后应该就是下载.mobileprovision这个文件了,我已经有了所以就不重新下载了,那一页跳不过去了,但是应该就是再核对一下信息然后下载就行了

.mobileprovision文件是什么?

6. 至此XXX.mobileprovision文件也就创建好了,对应的就是Hbuilder中的证书profile文件,然后就可以去Hbuilder进行打.ipa的软件正式发行包了,但是你在手机上下载应该是打不开的状态

四、发布

1. 上传 .ipa 到App Store Connect(记得登录,不截图了)点击新建App

2. 填写软件基本信息

3. 然后就能在你的APP库中看到了

4. 编辑软件基本信息(交给产品做吧)

5. 构建软件版本

在app Store下载Transporter然后登录

6. 如果已经有打包过的软件则直接展示,我忘了没提交是啥样的了,后续再补截图,点击加号,找到你从Hbuilder下载好的.ipa软件包

7. 然后就是编译构建了,然后点击交付,然后回到App Store Connect

8. 然后可以看到构建版本了,填写完对应的信息,即可添加以供审核了,后续就是产品的事情了


一、生成CertificateSigningRequest.certSigningRequest(CSR)文件 是什么有什么用?

简介

1. 文件功能及其目的:

它本身不是一张证书(不能用来签名或加密),而是一个标准的请求文件。我们可以从“长什么样”和“用来干嘛”两个角度来理解它。

2. 这个文件里有什么?(打开看看)·

虽然它的后缀是 .certSigningRequest,但如果你用文本编辑器打开它,会看到类似这样的内容:

这串“乱码”其实是用 Base64 编码过的数据,里面包含三样东西:

  1. 你的公钥:这是最关键的部分,就是那把可以公开的“钥匙”。
  2. 你的身份信息:你填写的电子邮件、常用名称(通常是你的名字或 App ID)和国家/地区。
  3. 你的数字签名:用你的私钥对该文件内容做的签名。这能向证书颁发机构证明:“这确实是我本人发起的请求,并且我拥有对应的私钥。”

3. 这个文件具体用来做什么?

它的唯一使命就是提交给证书颁发机构(CA)去兑换一张真正的数字证书。具体在什么场景下要用到它呢?

向苹果申请开发者证书:这是最常见的用途。在苹果开发者网站(Developer Center)上申请开发或发布证书时,网站会要求你上传这个 CSR 文件。苹果收到后,会用它的私钥对你的公钥进行签名,最终生成一个 .cer 证书文件返还给你。

申请服务器或邮件加密证书:在一些企业内部网络或邮件系统中,如果你需要向公司内部的 CA(如 Active Directory 证书服务)申请一张用于网站 HTTPS 或邮件签名的证书,也需要提交这个文件。

作为备份凭证:这文件本身不保密(因为它只包含公钥和身份信息,私钥还在你电脑里)。你可以保存它,以便在需要申请同类证书时直接上传,而不用每次重新生成一对密钥。

4. 关键信息

这个文件本身可以随便给人看,但生成它的过程在你电脑里留下了一样绝对不能丢的东西——私钥。

私钥在生成 CSR 的瞬间就被保存到你的“钥匙串”中了(通常叫 PublicKey 和 PrivateKey 对)。

如果你删除了钥匙串里的私钥,或者重装了电脑,那么即使你手里有这个 CSR 文件,也没有任何用处。 因为真正的“签名权”在私钥那里,你等于只有一把没有锁芯的钥匙。

5. 简单总结:

CSR 文件是“兑换券”,用它去换回证书;而真正决定你身份的是留存在你电脑钥匙串里的那把私钥。

这次三连吧!写了俩小时呢

二、AppleWWDRCAG3.cer是什么?

1. 简介

全称是“Apple Worldwide Developer Relations Certification Authority G3”,它就像是苹果开发者证书体系里的一环,关键作用就是连接你的个人开发者证书和苹果的根证书,让整个“信任链”变得完整

2. 为什么会“不受信任”?

首先,你的 Mac 或 Xcode 里已经预装了苹果的根证书(可以理解为最顶级的信任锚点),但可能没有这个 G3 中级证书。

当你的开发者证书(由 G3 签发)出现时,系统要验证它是否可信,就需要找到当初签发它的那个“上级”(也就是 G3 证书)。如果找不到,这个链条就断了,你的证书自然就会被标记为“不受信任”。

3. “下载并安装”做了什么?

这个过程简单来说,就是帮你把断掉的信任链条重新接上。下载 AppleWWDRCAG3.cer 并安装,就相当于在你的钥匙串里补上了这块缺失的中级证书。

一旦有了它,系统就能顺藤摸瓜,完成从“你的开发者证书” → “G3 中级证书” → “苹果根证书”的完整验证链。验证通过了,你的证书状态自然就从“不受信任”变为“受信”了。

4. 补充说明

区分版本:苹果会发布不同“代”的 WWDR 证书(如 G1, G2, G3 等),它们用于不同的目的或具有不同的有效期。G3 主要与软件签名相关,有效期至 2030 年。

三、.p12证书是什么?

1. 简介:

.p12 证书(也叫 PKCS#12 文件)可以理解为你的数字身份保险箱。它不只是一张证书,而是把 证书(公钥)和对应的 私钥 打包在一起,并用密码保护起来的文件。

2. 它里面装了什么?

一个 .p12 文件包含三样东西:

证书(公钥):相当于你的身份证,公开给所有人看,用来标识你的身份。

私钥:相当于你的指纹或私章,必须绝对保密。它用来证明“你就是你”(比如签名、解密数据)。

密码:打开这个保险箱的钥匙。没有密码,无法提取里面的私钥。

3. 主要用来干什么?

在苹果开发中,.p12 文件是在设备间迁移或备份开发者身份的“万能钥匙”。常见的场景是:

多设备开发:在一台 Mac 上生成了开发证书,想换到另一台 Mac 上继续开发,直接导出 .p12 文件并导入新电脑即可,不用重新申请。

团队协作:把 .p12 文件发给同事(同时告知密码),对方就能在你的身份下打包和签名应用。

部署服务器:配置推送通知(APNs)服务时,服务器需要你的证书和私钥来建立加密连接,上传 .p12 文件是常见的方式。

4. 与 .cer 文件的核心区别

特性.cer(证书).p12(证书 + 私钥)
包含内容仅公钥(公开的身份信息)公钥 + 私钥(完整的身份信息)
私钥没有有(用密码保护)
用途分发给别人,用于验证你的身份自己私下使用,用于证明你的身份(签名、解密)
安全性可以公开,泄露无影响必须绝对保密,泄露后他人可冒充你的身份
能否互转可以。从 .p12 能导出 .cer,但反之不行(因为缺少私钥)可以。用钥匙串或 OpenSSL 从 .p12 导出 .cer

5. 重要安全提醒

私钥是核心资产:.p12 文件就等于你的数字身份。切勿将其上传到公开代码仓库、网盘或随意发送。

密码要足够强:设置强密码,并妥善保管。

定期清理:不再使用的 .p12 文件应及时从系统中移除或安全销毁。

四、.mobileprovision文件是什么?

1. 简介:

.mobileprovision 文件是苹果iOS开发中的设备授权文件,也常被称为配置文件 (Provisioning Profile)。你可以把它理解为苹果官方颁发的一张“通行证”,它决定了你的App能在哪些设备上运行,以及能使用哪些苹果服务。

它本身是一个配置文件,包含了将你的代码、证书和设备绑定在一起的所有规则。

2. 它里面装了什么?

这个文件别看不大,内部结构实际上是一个加密签名的属性列表(plist),包含了三项最核心的授权信息:

  1. App ID:指定这个配置文件适用于哪个App(比如 com.example.MyApp)。

  2. 证书列表:包含允许用来签名这个App的开发者证书(也就是之前聊到的.cer)。

  3. 设备列表:(针对开发/Ad Hoc类型) 明确列出允许安装该App的具体设备UDID。

当你在Xcode中运行或打包App时,Xcode会把这个文件嵌入到 .app 包里。当App在目标设备上启动时,系统会立刻检查:

“这个App的签名证书,在配置文件里吗?”

“这台设备的UDID,在配置文件里吗?”

如果检查不通过,App就会闪退,无法运行。它就像是App安装在设备上的“门禁卡”,缺了它或者信息不对,门就打不开。

3. 生命周期

配置文件不是永久有效的,它有明确的“有效期”,通常为1年。过期后,设备上已安装的App会怎样?

开发/Ad Hoc App:会闪退。因为苹果服务器会校验配置文件是否有效,过期即失效。

App Store 上架 App:不受影响。上架后的App不再依赖配置文件来运行,由苹果的App Store系统负责验证和分发。

4. 与 .cer 和 .p12 的关系

彻底理清这三者的分工,可以这样理解:

.cer / .p12(数字身份):证明“你是谁”。
.mobileprovision(授权文件):规定“你(这个App)能去哪里”。

它们的关系是互相绑定的。Xcode在打包时,会检查签名证书(.p12)是否在配置文件允许的证书列表中。如果两者对不上,打包就会失败。一个形象的比喻是:

.p12 是你的身份证。

.mobileprovision 是门禁系统的授权记录。

系统会同时检查“门禁(配置文件)里有没有你的名字(证书)”和“你是不是这栋楼的人(设备UDID)”,全部符合才能进门。

五、完结撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。

如果还有不懂的,先去问问AI,然后再来评论区留言,如果我答不上来的,看看其他大佬的播客吧

成就:

给个三连吧


推荐BGM:巴拉莱卡(The Rod)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询