很多朋友在使用了第三方开发的网站app后,不知道如何申请证书,如何上传到app store上。笔者当初上传的时候,也翻阅了不少文章,后来发现有些文章比较旧了,app store的开发平台已经更新过了。于是我在最近一次的上传中,记录下了过程,准备了这篇指南。本指南现适用2014年后的app store开发者平台上申请证书。
前提准备:
1、你需要有一个 app store的开发者账号。如果没有,请去
https://developer.apple.com/register/index.action
申请。申请的时候需要注意选择ios平台。申请完使用信用卡支付99美金。现在已经支持人民币支付了。
2、你需要有一个mac系统的pc,或者虚拟机安装一个MAC OS,并且确认可以联网。
先大概讲下申请证书的流程(后面会有详细解说这些流程):
第一步、certificates下的iOS distribution证书
这个证书相当于开发者的认证,可以是公司,也可以是个人。
第二步、申请identifiers下面的APP IDs
这个相当于app的唯一识别ID的申请
第三步、申请certificates下的push证书
这个证书会对应第二步里生成的id,也就是说push证书是跟着app对应的。
第四步、申请provisioning profiles配置文件。
这个配置文件会选择,第一步的证书和第二步的ID。两个都要关联。
详细流程图文解说:
第一步,登录开发者平台选择证书选项,详见下图
https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa
第二步,选择certificates后,到证书工具页面。这里可以申请测试用的证书,也可以申请生产模式的证书。我们这里讲正式上线的生产模式下的证书申请流程。
第三步,点击+号,增加一个证书。
第四步,选择证书类型
第五步,就是要在mac上做一个scr文件,用来生成证书的。
在mac的lanchpad界面的【实用工具】中找到【钥匙串访问】
证书助理菜单中,选择“从证书颁发机构请求证书”
按图提示进行填写。
保存到磁盘后,能看见这个文件格式 certSigningRequest,就是上面说的CSR文件。
第六步,回到刚才第四步,接下去的操作。选中刚才生成的CSR文件上传。用来生成证书。上传后,点击Generate
看见生成后出现download按钮,点击就可以把这个证书保存下来。但是还没结束哦,下面要用这个证书去生成p12证书,才能用在app生成上。
第七步,双击刚才下载的cer证书。这个证书会被导入到mac系统中。在【钥匙串访问】中,选择我的证书,就能看到刚才导入的iphone distribution证书了。
右键这个证书,选择导出iphone distribution证书
导出后一定是p12证书,记住哦。不是P12的话就看下你是不是没有从“我的证书”那里导出。
导出的时候设置一个密码来读取证书,作为证书信息的保护。需要记住这个密码的,并且有一定的复杂度。在生成app的时候需要用到这个密码。
到这一步,iphone的发布证书已经制作完毕,如果你不需要推送证书的话,下面的推送证书步骤可以不做。
接下来,生成申请identifiers下面的APP IDs,请看下面流程。
第八步,申请identifiers下面的APP IDs
在左侧选择identifiers下面的app ids
填写你的app id的name。英文,一般就是网站名字的英文就可以了
还有一个比较重要的bundle id,填写方式如图。
如果有推送服务,可以勾选push notifications
申请app ids结束,这步还是很简单的。这样你的app就会有一个唯一的ID。多个APP就申请多个ID。
接下来这步骤是可选,申请推送证书,如有你的app有这个服务,就要申请这步。步骤和生成发布证书差不多。
第九步,同样,我们选择certificates下的production,这个是生成正式上线的证书。开发期的话,可以选择development。
这里就用到了刚才生成的 bundle id,把这个推送证书捆绑到这个ID上。
第十步,同生成发布证书一样,选择最初的时候生成的CRS证书。没有忘记放在哪里了吧?
接下来步骤就很熟悉了,
同样generate生成cer证书,然后,把cer导入到钥匙串访问中。
导入后会看见一个app production IOS push的证书。
点击右键导出p12证书。
以上push证书制作完毕。
最后一步便是生成配置文件了。
第十一步,选择 provisioning profiles中的distribution下的app store配置文件。
continue后,同样需要指定这个配置文件对应的IDS
再选择对应生成的发布证书。
最后生成完毕。保存到本地就OK了。
现在回过头来看,生成了3个文件。
一个发布证书,一个push证书,一个配置文件。
重新生成app的时候把这3个证书放进去就OK了。
剩下的pem证书,制作方式如下:
需要用到之前的推送证书.push.p12,把她放到任意位置,现在以桌面为例。
打开Terminal,输入 cd desktop,切换到桌面
按照次序运行
openssl pkcs12 -clcerts -nokeys -in push.p12 -out pc.pem openssl pkcs12 -nocerts -in push.p12 -out pd.pem cat pc.pem pd.pem > p.pem
最终p.pem就是你所要的