来由
现在是公元2017年,但我发现周围还是有很多人在通过钥匙串、证书助理、Apple 开发者网站来创建开发或发布证书,我在某度上一搜,出来的几乎也全是类似流程的图文教程,有的甚至以“2017年最新……”命名!所以我要写这篇博客,让有缘人少走几步弯道。
如果你到现在一直是用上面的方式创建证书,请鄙视一下自己,接下来,我介绍一下用Xcode创建与管理证书的方式,如果有更简单的方式,不妨评论出来,一起挽救同行们的生命(时间就是生命)!
我从Xcode 4开始使用Xcode的,我开始也用过手动创建证书的方式:创建证书请求文件、生成证书、添加App ID、创建Provisioning Profile。那个时期就像石器时代,Apple的网站又很慢,创建个证书挺费劲。后来Apple在这方面做了很多优化,每一代Xcode在这方面都有加强,到现在根本不需要我们开发者来管这些事了。你可能不会信,Xcode 6或更早的版本就已经具备了这样的功能,但一直到Xcode 7,这个服务都一直有bug,对创建证书的这一套流程如果不熟悉还是会产生问题。但是从Xcode 8开始,Xcode直接在工程Target设置的General面板中加上了一个默认选中的可选项“Automatically manage signing”,下面还有介绍“Xcode will create and update profiles, app IDs, and certificates”,所以说Xcode 8开始,已经明明确确地提出要帮广大用户处理证书、appID、配置文件这些非技术的麻烦事了,虽然你依然可以选择不要Xcode帮忙。
下面进入正题,iOS开发中真机调试、打包发布,需要的创建证书、App ID、Profile的步骤:
- 打开Xcode设置,登录Apple ID(加入开发者计划的Apple ID):Xcode-Preferences...-Accounts-Apple IDs,登录后,就能看到这个Apple ID加入的开发Team了。
- 双击你加入的Team,就会出现这个Team中相关的证书列表了,点一下左下角的+号,在弹出的菜单中点iOS Development,Xcode就给你把开发证书创建好了,点iOS App Store,Xcode就可以帮你把发布证书创建好。
- 在工程Target的General面板的Signing区域,选中Automatically manage signing,在这个选项下面的Team中选中要用的开发者账号。
- 没有4了,你不需要在设置Build Setting了,不需要用浏览器打开开发者网站了,因为Xcode足以帮你搞定所有的一切了。
Xcode做了哪些事?
下面说明一下Xcode做了哪些事,这些事都不需要你自己做哦!
- 注册 App ID,Xcode在签名的时候,如果发现你的Bundle ID没在开发者网站注册,它自动帮你注册。
- 如果没有找到provisioning profile,Xcode会自动去苹果的服务器创建一个,不管是开发还是发布,Xcode都能搞定。(Xcode 7的设置中还可以自己选择只把账号中的某几个Provisioning profile同步到本地电脑上,Xcode 8直接只显示一个下载所有provisioning profile的按钮,意思很明显,以后这些细节不需要你管了)
证书备份
Xcode提供了可以备份你的本地所有属于你某个开发者账号的证书、profile的方法,这样就不再需要去钥匙串一个一个导出证书了。
Xcode-Preferences...-Accounts,选中要备份的Apple ID,点左下角的第三个按钮,然后选弹出菜单中的“Export Developer Accounts...”
结尾
随着Xcode的不断迭代,我们有理由相信Xcode在自动管理签名这方面会做的越来越好,让开发者越来越省心。所以没任何必要自己手动去做这些事了,和现在没必要刀耕火种是一样的道理。