我们在第一次开发ios项目或者接手ios项目的时候,大部分人都会提出一个问题,云打包需要ios证书、证书密码和证书profile文件。而这两个文件和证书密码找谁要呢?
答案是,这两个文件,需要自己申请苹果开发者账号,在苹果开发者中心去生成。假如是公司以前上架过app,那么公司会有ios开发账号,假如公司没有账号,就需要去申请一个账号,我们这篇文章,将讲解下如何在苹果开发者中心生成证书和profile文件。
完整的流程如下:
1 在苹果开发者中心申请ios开发账号
1.1 注册苹果账号
这个比较简单,最好是使用公司邮箱新注册一个苹果账号。
1.2 申请邓白氏码
邓白氏码可以理解为一种国际的公司标识,在app store上有公司开发者和个人开发者,假如你是公司开发者,那么就是显示你国际的公司名。
注册的苹果账号,还没有ios开发功能,还需要申请成为开发者才能使用苹果开发者中心生成证书和上架的功能,而在中国,上架时需要备案的,因此一般需要注册公司类型的开发者账号,因此,就需要提前申请邓白氏码,因为申请公司类型的开发者的时候,需要提供邓白氏码。邓白氏码你搜一下邓白氏中国官网,就可以进去申请了,可以免费申请的。
1.3 使用iphone下载Apple Developer 这个App申请成为公司类型开发者
使用iphone手机,下载Apple Developer 这个APP,在这个APP上申请加入开发者。 过程中需要输入邓白氏码,和缴费99美元,申请的时候有两种开发者可以选择,一种是个人开发者,一种是公司类型的开发者。记住要选择公司类型的开发者。假如你没有iphone手机,可以借同事的iphone手机操作。
2 生成p12格式的证书
登录苹果开发者中心后,点击账号图标,会看到证书、标识和描述文件的菜单,进入证书创建页面。

如下图,点击下图中的图标,开始申请证书:

下一步它会要我们选择证书的类型。
这里我们固定选择IOS Distribution类型,一定不要选择了apple distribution。apple distribution不是用来做ios开发的。
然后点下一步,需要我们自己提供一个CSR文件

这个CSR文件,一般是使用yunedit这个工具来在线生成,打开yunedit创建证书的工具:
https://www.yunedit.com/createcert
创建一个csr文件,然后下载下来:

这样就可以在苹果开发者中心生成cer证书了。但这个证书还不是p12格式的,需要转换成p12格式。
重新回到yunedit这个工具,上传cer文件,就可以使用生成p12证书的功能,生成p12证书了。

3 生成证书profile文件
因为创建描述文件,过程中需要绑定appId和绑定测试设备,因此,我们需要在Identifiers菜单先创建appId,然后再在Devices菜单先把所有需要参与测试的iphone手机的udid添加到Devices里。下面是详细的过程:
3.1 添加APPID
这里将你在uniapp云打包界面填写的appID,添加上来就行了,很简单,但两者一定要一致。

3.2 添加devices
假如你的APP不需要测试,直接上架,可以不做这一步,但是测试一般都是需要的,因此这一步几乎也是必须的。

那么上面的00008xxxxx-xxxxxxxxxxxxx那一串iphone的udid如何获取呢?
可以使用yunedit里获取udid的工具来获取:

3.3 创建描述文件
这里,我们需要创建两种描述文件,一种是测试类型的描述文件,一种是上架类型的描述文件。
当需要打测试包的时候,使用测试类型的描述文件打包,当需要打正式上架包的时候,使用上架类型的描述文件打包。因此,创建描述文件我们需要创建两次,如下图:

第一步需要选择profile文件的类型:

创建测试类型的时候,类型选择ad hoc 创建上架类型的时候,类型选择app store connect
然后期间下一步,还需要我们选择appId,再下一步,又要我们选择证书,选择证书的时候假如你有多个证书,不要选错证书,假如选错了证书p12证书就跟描述文件不匹配,如下图:

由于我只创建了一个证书,因此这里只能见到一个证书可以选择,假如你有多个证书会见到多个的。
接着下一步,假如你选择的是ad hoc类型,它还会要求我们绑定测试设备(绑定Devices),假如之前选择的是app store 类型,则直接就完成描述文件的创建了。选择devices的界面如下图:

注意假如是ad hoc类型的描述文件,需要勾选所有需要做测试的ios设备。
好了,到这里,描述文件也创建完毕。