iOS证书的分类:

开发者证书(Development Certificate):用于在开发阶段对应用程序进行签名和验证。开发者证书只能在开发者模式下使用,无法发布到App Store。

发布证书(Distribution Certificate):用于发布应用程序到App Store或企业内部分发。发布证书需要经过苹果公司的审核和认证,可以在App Store上发布应用程序。

推送证书(Push Certificate):用于实现远程推送功能,可以向用户发送通知和提醒。推送证书需要在苹果开发者中心申请,然后在应用程序中进行配置。

企业证书(Enterprise Certificate):用于企业内部分发应用程序,可以在企业内部分发应用程序,无需通过App Store审核。企业证书需要在苹果开发者中心申请,然后在企业内部进行分发。

个人证书(Personal Certificate):用于个人开发者开发应用程序,可以在开发者模式下使用,无法发布到App Store。个人证书需要在苹果开发者中心申请,然后在应用程序中进行配置

已上是证书分类:个人证书就不用管了,用不到,开发证书和发布证书是我们最常用的证书,后面会详细说明,推送证书是用于消息推送使用的,分为离线推送和在线推送,企业证书不需要appstore审核,可以直接进行内部分发,现在申请比较困难,费用比较高。下面重点说一下开发和发布证书以及描述文件;

开发(Development)证书和描述文件用于开发测试

发布(Distribution)证书和描述文件用于提交 AppStore

证书的申请去这里 -》https://developer.apple.com/account/resources/identifiers/list

首先需要申请苹果 App ID (App的唯一标识)

比如注册com.apple.app 这个建议使用域名结合避免重复

注册完毕

下面是开始申请证书,不过都需要先生成证书请求文件

因为不管是申请开发 (Development) 证书还是发布 (Distribution) 证书,都需要使用证书请求 (.certSigningRequest) 文件,证书请求文件需在Mac OS上使用 “钥匙串访问” 工具生成。

生成证书请求文件的申请步骤

打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书…”

下面完善信息

文件名称为“CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请开发(Development)证书和发布(Production)证书时需要用到

最后存储到磁盘

这是我电脑上的三个请求文件 (我是为了区分说明才有三个),其实只需要用一个就好

申请开发(Development)证书和描述文件

在证书管理页面选择 “Certificates” 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:

然后点击下一步,并下载

双击这个.cer文件,然后导出p12文件,导出的时候会设置证书文件的密码,自行设置

申请开发 (Development) 描述文件

选择对应的development ,

然后选择对应的appId,我们第一步创建的appid

然后下载下来,这个开发环境的描述文件和开发环境的P12文件是配对使用的,如果需要增加新的设备需要生成新的描述文件,证书p12 不用换

申请发布(Production)证书和描述文件,逻辑同上

然后转12文件

生成生产描述文件

至此,我们已经得到了发布证书(.p12)及对应的发布描述文件(.mobileprovision)

上面就是我们ios 打包和上架做的前置工作

小知识点,如果需要获取证书的公钥和sha-1 和sha-256 ,只需要查看证书简介

Ios 的打包和上架

配置版本号和包名

选择描述文件

选择arm64,打包

开始打包

打包成功

这里选择上传到appstore还是打测试包,这里选择development

然后打包成功

这里可以选择导出的位置

上面就是完成开发打包

如果是选择上架就是这里选择appstore

然后一直下一步,选择上架的描述文件,最后upload成功

大约半小时就会在testfight上出现可用于测试的包,对应的测试人员就可以下载使用测试

p12文件导出就是为了让别的开发人员,不用重新自己申请各种证书,只需要双击p12文件生成自己对应的本地证书,即可开发使用