使用hbuilderx等跨平台工具开发的ios应用,假如想用户在app store上能搜索到应用,并下载应用。
那么就需要app store的开发者账号,也就是苹果开发者中心的开发者账号,生成私钥证书、profile文件,然后在app store上面上架。
但是hbuilderx官方的教程生成证书和上架,不仅需要开发者账号,还需要mac电脑辅助生成。这样我们可以不参考hbuilderx官方生成证书的教程,其实mac电脑并不是必须的,可以用香蕉云编在线辅助生成,代替mac电脑,其实只需要开发者账号就可以了。
下面正式介绍下生成证书的打包流程吧:
1、开通苹果开发者账号
假如已经有苹果开发者账号就不需要这个步骤,假如没账号的可以先开通账号,可以参考这个开通的教程:https://blog.youkuaiyun.com/handsome0916/article/details/130267123
2、生成p12格式的私钥证书
2.1 创建csr文件
因为在苹果开发者中心生成证书需要提供csr文件,这里我们先创建csr文件
这里我们使用香蕉云编代替mac电脑来生成csr文件
https://www.yunedit.com/createcert
登录香蕉云编后,进入后台使用生成ios证书功能,生成一个CSR文件下载到本地,如下图:
2.2 创建cer格式的ios证书,简称cer证书
登录苹果开发者中心,找到Certificates模块(英文版本叫Certificates),假如你打开的是中文版苹果开发者网站,找到对应的菜单就行。点蓝色小圆圈加号就可以开始创建cer证书了。
2.3 选择cer证书类型
点击下一步,需要选择证书类型,因为我们要开发的是IOS应用,这里我们固定选择IOS Distribution (App Store Connect and Ad Hoc) 这个类型的证书。这种证书同时支持App Store Connect(上架类型)和AD Hoc(真机测试类型)两种profile文件。因此无论打真机测试包还是正式上架包,都是使用这个类型的证书,不要选择其他的类型,特别是很多人选了Apple类型是错误的。
2.4 选择CSR文件,然后生成cer证书
点下一步后,需要我们选择一个cer文件,如下图所示
选择第一步从香蕉云编生成的CSR文件上传即可完成生成cer证书的步骤:
生成完cer证书后,下载cer证书到我们电脑本地。
2.5 将cer证书转化为p12证书
回到香蕉云编,这里有上传cer证书功能和生成p12证书功能。
如下图,生成p12证书前,要先把cer证书上传,才能使用生成p12证书功能,将cer证书转化为p12私钥证书的格式。依次点击下图这两个红框的按钮操作即可。
到这里p12私钥证书已经生成完毕
3 生成证书profile文件
除了p12私钥证书外,还需要证书的profile文件才能打包ios应用,profile文件也叫证书的描述文件,用来描述应用的。可以说p12证书跟应用无关,而profile文件是跟应用有关的。
3.1 生成APPID
点击Identifiers模块,然后使用下图的蓝色加号,生成一个APPID,APPID其实就是我们在hbuilderx打包的时候填写的包名,比如uni.xxxxxx.xxxxx或者com.xxxxxx.xxxx这样的包名格式的字符串。
3.2 添加测试设备到device
假如不需要打测试包,仅仅是打app store上架的生产包,可以跳过此步骤。
添加测试设备的时候,是需要添加测试设备的udid的,这个udid需要使用专业工具才能获取。
这里可以使用香蕉云编获取udid的工具来获取,通过测试设备打开这个地址,然后安装它的提示操作就可以获取了:
3.3 创建profile文件
终于进入主题了,可以创建profile文件了。
如下图:
创建profile的时候,假如是创建真机测试类型,则选Ad hoc类型,如下图:
3.4 创建profile过程中选择appId、测试设备和证书
创建的过程中需要选择appId,这个很简单,之前已经创建了appId,就不贴图了。
然后假如你选择的是ad hoc类型的profile,是需要选择测试设备的,也很简单。
然后选择证书这里很多人会选错,所以贴下图,如下图:
假如你有多个证书,这里会出现多个证书,名字都差不多,你可以根据后面的时间来判断选哪个。这里千万别选错了,假如选错了,你的profile就会跟之前生成的p12证书不匹配。
到这里profile文件也创建成功了,你可以打包ios应用了。
4、上传打包好的ipa文件到app store上架
关于上架,我之前写过一篇文章,可以参考这篇文章,也是使用windows电脑上架的:
https://blog.youkuaiyun.com/handsome0916/article/details/146175518