前两天公司需要上架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证书
13. 导出
下载好G3证书之后随着就会发现你下载的证书变成此证书有效,然后就能导出了
14. 点击导出,开始导出.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 这个文件了,我已经有了所以就不重新下载了,那一页跳不过去了,但是应该就是再核对一下信息然后下载就行了
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 编码过的数据,里面包含三样东西:
- 你的公钥:这是最关键的部分,就是那把可以公开的“钥匙”。
- 你的身份信息:你填写的电子邮件、常用名称(通常是你的名字或 App ID)和国家/地区。
- 你的数字签名:用你的私钥对该文件内容做的签名。这能向证书颁发机构证明:“这确实是我本人发起的请求,并且我拥有对应的私钥。”
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),包含了三项最核心的授权信息:
- App ID:指定这个配置文件适用于哪个App(比如 com.example.MyApp)。
- 证书列表:包含允许用来签名这个App的开发者证书(也就是之前聊到的.cer)。
- 设备列表:(针对开发/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)”,全部符合才能进门。