苹果证书管理
三种苹果账号:
三种苹果账号所以如果应用需要上appstroe,就要创建个人或者公司类型的账号;
如果只想内部发布,就可以申请企业账号;
个人账号和公司账号的区别就是公司账号能邀请多个账号,他们可以和你共享资源协同开发此应用,而不需要总是问你要你的账号使用。
iOS Certificates(证书)
ios certificates就是证书。它的作用就是证明你的mac具有开发或发布某个开发者账号下应用的权限。而且证书还分成两种,一种是开发证书(Development certificate); 另一种是发布证书或叫生产证书(Production certificate)。
1 .development certificate
开发证书是证明你的mac具有开发和真机调试你的程序的东西。但是每个证书关联着一个开发者账号,也就是说,你只能使用这个证书开发这个账号底下的应用,它是通过bundle id来知道该应用是不是属于自己的账号。所以每次为一个开发者帐号开发应用,就得需要这个账号创建的开发证书。
2 .Production certificate
生产证书是证明你的mac是否具有发布应用的权限。在archive到appstore的时候,必须有生产证书,否则时上传不成功的。
3.根证书
无论是开发证书还是生产证书,都必须从根证书上派生。根证书就是根mac产生的证书,menber center上保存的那个证书就是根证书,它只能安装在创建它的那台mac上,其他的开发mac必须从那台根mac上导出证书使用。也就是所有的子证书都只能从根证书派生而来。
iOS Provisioning Profiles(描述文件)
描述文件它用来标识某个设备是否具有安装某个应用的权限。描述文件分为开发描述文件和发布描述文件。其中发布描述文件又分为临时发布描述文件和正式发布描述文件。
1 . 开发描述文件(develop provisioning profile)
开发描述文件,创建它需要bundle ID + 开发证书 + 测试设备(在devices中添加); 编译的时候必须三者对应,否则编译器会报错。
2 . 临时发布描述文件(distribution ad hoc)
临时发布描述文件是用来在有限设备上发布的。创建它需要bundle ID +发布证书+发布设备,编译时也必须三者对应。
3 . 正式发布描述文件(distribution appstore/distribution ad house)
个人账号和企业账号创建的正式发布描述文件是不同的。因为个人账号是在appstrore上发布,所以创建的是distribution appstore描述文件,而企业账号只能内部发布,所以创建的叫distribution ad house描述文件。但是它们创建所需要的东西都是一样的:bundle ID + 发布证书。 因为他们是在不确定的设备上安装的,所以不需要选择设备。
团队开发证书的管理:
WX20221223-195058@2x.png一个开发者账户只能申请3个发布证书,2个开发证书(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,所有App和所有开发者共用一个证书即可,没必要生成那么多的证书,造成混乱,证书一般在过期之后才会重新添加。)
在团队开发的时候,最好是一个人去管理证书,当有其他人要用的时候,可直接导出.p12证书供其他开发者使用。证书出了问题,我感觉还是相当麻烦的,
而App ID在添加之后,基本上是不会改变的,除非要为App添加新的服务,这时候才要重新编辑App ID,所以App ID最好也是管理证书的人去管理App ID。
添加设备这一块就很随意了,所有的开发者都应该有权去管理添加设备这一块。
描述文件的制作这个要区分一下是开发类型的描述文件,还是发布类型的描述文件。开发类型的描述文件应该是团队里的每一个开发者都有权去管理的,实际上当开发类型的描述文件出现问题的时候,开发者可以对此描述文件重新编辑一下进行使用,这样是不会影响其他开发者的,甚至你可以自己重新制作一个描述文件也没什么问题。但是发布类型的描述文件,这个最好还是管理证书的那个人去管理这个描述文件。打包发布的时候如果这个描述文件出现变化,还是很麻烦的,而且这个描述文件对于团队其他开发者来说也不是很常用,甚至是根本用不到这个描述文件。
参考:
https://www.cnblogs.com/soulDn/p/9668693.html
https://www.jianshu.com/p/6cfcb0756cde
https://developer.umeng.com/docs/67966/detail/66748