iOS恶心的证书体系
当你进入https://developer.apple.com/开发者中心后,你会发现这个世界并没有你想像的那么简单,下面我对核心的几项进行说明:(手工写,如果发现单词错误,请更正)冒号后面是解释;
i. Certificates:苹果对开发者权限管理是非常复杂的,并不是你拥有的一台mac,拥有了一个开发者账户就可以开发应用了,你需要让你的mac和你的开发者账户建立联系,也就是要告诉你的开发者账户某某的这个电脑可以开发应用了;Certificates证书就是 标识一个电脑是否具备某个开发者账户的开发能力的;同时,并不是你搞了一个开发者账户就可以在无数的mac上使用了,Certificates证书 分为Development版本,和Production版本,分别最多可以信任三台电脑,当然我们还可以通过P12证书进行扩展,因为不常用,所以在此不做说明;
1.Development:是Certificates证书一个分支,用于标识某台mac具有了这个开发者账户的开发环境了;
2.Production:是Certificates证书的一个分支,用于标识某台mac具有了一个开发者账户的发布环境了;
ii.Identifiers:Identifiers是标识一个app的,这也是创建一个app的开始,Bundleiid就是在此产生;
1.AppIDs:app ids就是创建一个app的开始,并创建bundleID;
iii.Devices:与Certificates相对比,并不是所有的mac可以开发app,那Devies就是:并不是所有的设备都能用于调试app,此项不作详细的说明,为什么不详细的说明呢?因为,在Xcode8之后,如果你的其他环境都具备,当你在调试一个app的时候,Xcode会auto fixs这个功能,说白了就是 苹果会自动帮你搞定这玩意,所以不做说明;
iv.Provisioning Profiles:此证书是 决定一个app是不是可以打包了,以上那三个都是用于标识一个为成形的app,而Provisioning Profiles是标识一个app已经具备可以打包的能力了。当然Provisioning Profiles也是分为两种情况:1,Develoment 2,Distribution;
1.Development:测试包证书,标识一个app可以打成一个测试的包,只能用于测试,不能上Appstore;
2.Distribution:发布证书,标识一个app可以打成一个发布的包,然后上传到Appstore,去送审;
证书体系总结: 以上是对一个app一般情况下需要了解并使用的证书体系,简单说就是:Certificates是标识一台mac是否可以开发此开发者账户的app的证书,Identifiers是标识一个app的证书,Devices是标识一台设备是否可以调试此开发者账户的app的证书,Provisioning Profiles是标识一个app可以打包成用于测试的包,还是打包成用于发布的包的证书;个人理解如有错误,希望大家能留言我及时更正;