前言
在iOS开发过程中不管上架还是测试总会遇到各种证书的配置和生成,我们每次都是按照网上的教程弄下,有时候确实会成功,但是下次还是不会弄,难道我们不能一次性的把它给搞定了,,,不让证书来困扰我们?这也是我写这篇文章的初衷!
1,我们先理解下这几个概念:
- 证书(Certificates):
拥有某项能力的凭证,eg:驾驶证,律师证,会计证,,,,,,,;
开发证书(Development Certificate):让你有资格去测试你的应用程序;
生产证书(Production Certificate):让你有资格发布你的应用程序;
需要注意的点:
1,当证书选不了的时候,说明对应的证书在该账户已经满了,公司账号的话可以生成(1-2个开发(测试)证书),2-3个生产(发布)证书),个人账号的话比较悲催,分别只能生成一个;
2,证书不是每个应用程序对应一个证书的,多个应用程序可以使用同一个证书,所以不需要每次都生成证书;但是推送证书是每个证书对应一个appid的,这个需要注意;
3,证书不是下载下来就可以用的,前提是这个证书是你自己电脑生成的,那么我证书满了,我需要证书怎么办呢?我们可以让那个生成证书的同事把改证书导个p12文件给你,当然密码让他告诉你就好;
4,说一下第三点的原因:因为私钥拥有不会给别人的,苹果用公钥去解你的私钥,每次从证书颁发机构生成证书的时候私钥在自己的电脑里面,别人下载下来是没有对应的私钥的,所以签名的时候就不会通过,p12文件却不一样,它里面公钥和私钥都有;
5,不要轻易去remvoke别人的证书,不然会出现许多意向不到的意外你懂得;
App ID:
它就相当于身份证,想拥有以上权利必须得有身份证,应用程序的唯一标示;通常用的是工程的bundleid;齿轮文件(Provisioning Profiles):
它指定了哪个app(创建选择的appid),可以在哪台电脑(创建时选择的证书),可以在什么环境下(选择证书的类型,开发,发布),可以在哪台手机(生成齿轮文件时选择的device)-------去运行;
这里需要注意几点:
<1>这里选择的证书必须你的电脑上是有的,也就是你的钥匙串中可以看到的证书,不然会出现以下错误:(意思就是你齿轮文件和你电脑里面的证书不匹配)
<2>你工程的bundleid必须和你生成齿轮文件时候选择的appid一致,否则会出现以下错误:
解决办法:
1,把工程的bundleid换成你齿轮文件这里对应的appid;
2,用你现在工程的bunleid重新生成个appid和齿轮文件;
参考文章(这些大神的文章比我好一百倍,总是站在巨人的肩膀上 = =,我们需要感谢这些无私的大牛们!!!)
1,不让苹果开发者账号折磨我
2,App上架流程
3,iOS开发证书与配置文件的使用