搞了三年签名,终于把 iOS 证书种类捋清楚了
从踩坑经验出发,把 iOS 开发证书、发布证书、企业证书的区别和坑点讲明白,少走弯路。
7cert ·
先说个背景
我刚入行的时候,被人问"你这个是发布证书还是企业证书",愣是答不上来。后来踩了不少坑,今天把这几种证书掰扯清楚,免得有人跟我一样蒙圈。
开发证书——调试专用
你在 Xcode 里连真机跑 App,用的就是开发证书。证书名字一般长这样:Apple Development: 张三,一看就知道是谁的。
这种证书签出来的 App 只能装在你注册过 UDID 的手机上,别人拿到装不了。有效期 1 年,一个账号最多申请 2 张。说白了就是给你自己调试用的,别想着拿它去分发。
发布证书——正经分发的"正规军"
要上 App Store、走 TestFlight 或者搞超级签名(Ad Hoc),都得用发布证书。名字是 Apple Distribution: 你的团队名 或者老版本的 iPhone Distribution: 团队名。
有效期也是 1 年,一个账号最多 3 张。99 美元的个人账号和公司账号都能申请。
企业证书——圈子里最"值钱"的
这个就是大家常说的"企签证书"。它是 299 美元企业开发者账号专属的,证书名字看着和发布证书差不多,但签出来的描述文件是 In-House 类型,不限设备——这就是它值钱的原因。
不过苹果也不是吃素的。你拿企业证书对外公开分发,被苹果抓到就直接吊销,一掉全掉,多少人被这个坑过。有效期 3 年,听着挺长,但很多证书活不到那天就被吊了。
怎么看自己手上是哪种证书
最简单的办法:把 P12 丢到 7cert 上面,证书名称、类型、有效期、有没有被吊销,一目了然。我自己现在每拿到一张新证书第一件事就是先验一下,确认没问题再用。
别嫌麻烦,养成这个习惯能帮你少亏不少钱。
常见问题
开发证书和发布证书能混着用吗?
不行。开发证书只能配开发描述文件调试用,发布证书配发布描述文件分发。类型对不上直接报错。
企业证书掉了还能恢复吗?
不能,吊销了就是永久失效。只能换新证书重签,用户全部重新下载。
个人账号能搞到企业证书吗?
不能。企业账号要求公司 100 人以上,还要 DUNS 编号审核,个人搞不了。