首次或更新生成ios证书最简单的方法

36 阅读6分钟

在uniapp或者用友等开发工具打包ios端的app,需要证书才能打包。而证书,无论是首次开发,还是过期,都需要生成证书文件才能打包。即使以前创建过证书,而很久没打包,证书也会一年自动过期,过期后还是需要重新生成证书,因此,我们这里整理下,生成证书的最简单方法。

生成ios证书的底层cer证书和证书profile文件,唯一的途径就是在苹果开发者中心生成,因此,我们在生成证书前,有一个前置的条件就是需要先申请苹果开发者账号。

开通苹果开发者账号的方法:

(1)注册苹果账号

苹果账号,在苹果手机申请或者在苹果开发者中心申请都可以。 可以到苹果开发者中心官网去申请账号,这个比较简单。最好使用公司邮箱来申请,避免以后有产权纠纷。

苹果开发者中心官网:developer.apple.com/cn/

(2)申请邓白氏码

因为现在在苹果中国地区上架app store,需要备案,因此一般需要申请公司类型的开发者账号,不能申请个人类型的苹果开发者账号,而申请公司类型的开发者账号,又需要国际上承认的邓白氏码。申请邓白氏码是免费的,这个大家放心,不像在中国申请公司那么麻烦。邓白氏官网在百度山搜下邓白氏码中国官网就可以进去申请了。

(3) 申请苹果开发者功能 上面虽然注册了苹果账号,但是苹果账号默认还没有开通苹果开发者功能。还需要申请开通苹果开发者。 需要使用iphone手机来申请,假如你没iphone手机,可以向朋友或同事借一个iphone,在app store市场上,安装Apple Developer这个APP,然后在Apple Developer这个APP上申请。申请的时候,登录的时候用刚才第一步的时候注册的公司账号,不要登录iphone手机本身的苹果账号哦。假如不小心用个人账号注册了,就浪费钱了。因为注册苹果开发者是需要99美金的。虽然用个人账号注册了也可以用,但是app就会有产权纠纷了。

生成csr文件

由于在苹果开发者中心生成cer证书,需要我们自己提供csr文件,在苹果开发者中心生成了cer文件后,还需要使用证书工具转换成p12格式的私钥证书。因此,我们还需要使用生成证书的辅助工具来完成。一般uniapp开发是可以使用yunedit这个工具来生成:www.yunedit.com/createcert

假如是原生开发,有mac电脑可以使用mac电脑的钥匙串访问这个app来生成。推荐使用yunedit在线生成要方便一些。

生成cer证书

生成cer证书,在苹果开发者中心完成。我们登录苹果开发者中心后,点击右上角的个人中心图标,找到入口,如下图:

image.png

进入证书列表界面后,如下图,点击蓝色加号生成一个新的证书,列表界面是一个证书的管理界面。(假如有过期的证书可以直接删除,已经上架的app删除了过期的证书不会对在线应用有影响,而过期的证书以后也无法继续打包,因此有过期的证书就立即删除就行)。

image.png

点击蓝色加号后,出现选择证书类型的界面: 选择下图这个IOS distribution的类型,这个类型已经包含了app store上架类型和ad hoc真机测试类型。这个类型既可以打包生产版本也可以打包真机测试版本。 image.png

然后它会要求我们提供一个csr文件,如下图所示,这里上传我们刚才在yunedit生成的csr文件即可:

image.png

接下来,就可以完成cer证书的创建了。这个cer证书的过期时间是一年,一年后假如你还需要重新打包,就需要重新创建。

生成p12证书

但是现在的证书只是cer格式的,还不是uniapp这些工具需要的p12格式的证书,因此,我们还需要使用yunedit将cer转换成p12,如下图所示:

image.png

创建p12文件的时候,要求我们输入一个6位数以上的密码,输入一个你能记住的密码即可 到这里,p12证书已经生成完毕。

创建appId

接下来,我们要创建profile文件,而profile文件需要绑定appId和绑定测试设备,因此,我们需要先在苹果开发者中心创建appId和创建测试设备。 点击标识符菜单(英文版叫Identifiers菜单)进去创建appId

创建一个appId,比如com.qq.app,当然,appId不要取的太简单,别跟别家公司的APP的appId冲突就行,这个appId也是hbuilderx云打包上面的appId,要写成一样的。

如下图:

image.png

创建测试设备(对应苹果开发者中心的devices菜单)

假如你还不需要打测试包,可以跳过这一步,不添加测试设备也行 假如需要打测试包进行本地测试,就需要添加测试设备,如下图,在Devices这个模块添加测试设备

image.png

而添加测试设备需要添加我们iphone手机或者ipad的udid,那么iphone和ipad的udid如何知道呢?可以使用手机打开上面说的yunedit这个工具,上方获取udid这个功能,按照提示来获取:

image.png

创建两个profile文件(描述文件)

这里为什么要创建两个profile文件呢? 因为测试和打正式包,需要使用不同类型的profile文件打包,因此,最好先创建好这两个profile文件,一个是测试类型,一个是生产类型,免得后面还需要重新上来创建。 创建profile文件的界面如下图所示:

image.png

点击创建profile文件后,出现如下图所示,ad hoc类型是测试类型,app store connect类型是生产类型(可以上架app store)。最好两个类型都创建了。

image.png

点击下一步,需要选择appId,而appId之前已经创建过,就不多说,直接选择正确的appId就行。

下一步需要绑定证书,这里要注意,需要慢点操作,很多人在这里选择错了,特别是第二次上架,有过期证书的情况下,可能会有两个证书可以选择的,不要选错了。我下面的例子只有一个证书选择,但是这里是有可能有多个证书可以选择的,假如你在证书管理里创建了多个证书的话。所以我在前面提到过,没用的过期的证书最好删除掉,以免后面的步骤选错了。

image.png

然后下一步,假如是app store类型,创建流程就结束了。

假如选择的是ad hoc类型,最后一步还需要将测试设备绑定到profile文件中,绑定的测试设备才能安装使用这个profile文件打包的测试包:

image.png

然后点下一步,就可以完成profile文件的创建了。 到这里,已经完成p12文件和profile文件的创建了,这两个就是我们打包时用到的证书文件啦。