P12签名证书申请需要邓白氏编码吗 我的签名踩坑记

我做了一款面向小众群体的iOS工具应用,刚做出来的时候,因为部分功能不符合苹果上架规则,改了好几次都没能通过审核,只好想着先做签名分发,等后续调整好了再走官方渠道,没想到就是找签名这件事,让我踩了数不清的坑,折腾了很久才终于找到稳定能用的方案。

很多刚接触iOS签名的朋友都会问,P12签名证书申请需要邓白氏编码吗?这个问题我折腾了这么久,也自己申请过证书,跟不同的服务商打过交道,其实答案很明确,要不要邓白氏编码完全看你用的是什么类型的开发者账号,个人开发者申请P12根本不需要邓白氏编码,只有注册企业开发者账号的时候,苹果才会要求提供邓白氏编码来验证企业身份,所以不需要一概而论。说到这里,就得先说说我搞懂的iOS签名原理,其实iOS的签名机制本质就是苹果对应用安装的授权,任何没有经过签名的应用,都没法正常安装到iOS设备上,P12文件就是把开发者证书和对应的私钥打包导出的文件,不管是什么类型的签名,本质都是用对应的P12证书给应用包做签名,苹果验证签名有效之后,才允许设备安装使用,P12对应的开发者账号如果正规稳定,签名自然也会稳定,要是账号本身有问题,或者被多人共用违规,很容易就会被苹果查封,对应的签名自然也就失效掉签了。

我最早找的是共享企业签名,那时候刚入行不懂,只想着找便宜的,搜了很多渠道,很容易就找到价格很低的共享企业签名,服务商说掉了可以免费补签,我想着反正便宜,就先做了,刚开始两三天用着确实没什么问题,用户安装也顺畅,我那时候还觉得原来签名这么简单,结果没过多久,早上刚起床就收到好多用户的消息,都说应用打不开了,我赶紧联系服务商,才知道同证书下别的应用违规,整个证书被封了,所有应用都掉签了,服务商给我重新补签换了证书,我不得不一个个通知用户重新下载安装,有的用户不太懂操作,我还要一步步截图教怎么信任证书,折腾了整整一天才把大部分用户安顿好,我本来以为这只是偶尔情况,没想到从这之后,掉签就成了常态,隔一阵子就会掉一次,每次掉签都要重新补签,重新通知用户,好几次我出门在外,半夜都要爬起来处理用户的问题,我本来应该用来优化应用的时间,全都耗在了补签通知上,那段时间真的掉签到怀疑人生,整个人都慌了,就怕哪天一觉醒来,所有用户都用不了,好多用户嫌麻烦,用着用着就不用了,流失了好多本来积累下来的用户。

后来实在受不了共享企业签名的频繁掉签,我咬咬牙换了独家企业签名,价格比共享企业签名高了不少,服务商说证书只给我一个人用,不会被别的应用牵连,我想着贵就贵吧,稳定就行,刚开始用确实比共享稳定很多,掉签次数少了不少,补签也及时,我那时候终于能抽出时间来优化应用了,结果好景不长,过了几个月,还是遇到了掉签,原来服务商说是独家,其实还是把证书拆分给了几个开发者用,刚好有一个开发者的应用违规,整个证书又被封了,我又经历了一次全量掉签,又得重新补签通知用户,折腾了好久才恢复,那时候我才明白,企业签名不管是共享还是所谓的独家,本质都是用企业开发者证书签名,只要证书给多个应用签名,就永远有被牵连掉签的风险,这是企业签名本身的机制问题,没法解决。

之后我听圈里的朋友说超级签名稳定,不容易掉签,我就赶紧找渠道问超级签名的情况,超级签名是用个人开发者账号的设备权限来做签名,每个账号只能绑定一定数量的设备,价格按下载量算,我那时候用户不算多,想着成本应该能接受,就找了一家服务商做了超级签名,刚开始用的时候确实体验不错,用户点一下链接就能直接安装,不需要额外操作,也大半个月没掉签,我那时候以为终于找到稳定的方案了,结果没过多久,又出现了大面积掉签,一打听才知道,这家服务商为了多赚钱,用的都是非正常渠道来的个人账号,也就是大家说的黑号,被苹果检测到之后直接封了账号,所有绑定的设备全都掉签了,我又不得不重新做签名,重新通知所有用户重新安装,这次掉签又损失了不少用户,我后来换了一家正规一点的服务商,用的都是正规注册的个人账号,掉签次数确实少了很多,但是超级签名本身的机制就是换设备或者重新安装都算新的下载量,用户多了之后,累计成本越来越高,比用独家企业签名还要贵很多,而且就算是正规账号,也偶尔会因为苹果的规则调整被封号,还是会出现掉签,还是需要补签,还是要折腾。

那时候我走投无路,想着要不就做H5封装算了,把网页直接打包成应用,听起来简单便宜,我就找服务商做了H5封装,结果用了没多久我就放弃了,H5封装本质就是套了个壳的网页,运行起来特别卡顿,很多原生功能都没法实现,推送通知也不稳定,经常收不到消息,用户打开应用加载半天都出不来内容,体验特别差,没用多久,用户流失了一大半,而且H5封装本质还是需要签名,还是会遇到掉签的问题,根本解决不了我的问题,所以用了没多久我就放弃了H5封装这条路。

后来我在圈里聊天的时候,有人给我推荐了TF签名,说TF签名是苹果官方认可的测试渠道,根本不会掉签,我那时候已经被坑怕了,不太敢相信,想着哪有完全不掉签的签名,但是实在不想再折腾了,就想着试试看吧,接触之后我才知道,TF签名其实就是把应用放到苹果官方的TestFlight测试平台来分发,本质是苹果官方允许的测试方式,所以签名本身是苹果认可的,只要应用本身没有违规问题,根本不会掉签,我抱着试试的心态做了TF签名,刚开始确实有一点不方便,用户需要先安装TestFlight应用,然后再从里面安装我的应用,多了一步操作,但是除此之外,真的太省心了,我做了TF签名之后,用了很久很久,从来没有出现过掉签的问题,也不需要补签,不需要重签,更不需要天天盯着手机等用户反馈打不开应用,我终于能安安心心的优化应用功能,调整不符合上架规则的部分了。

在TF签名稳定运行了一段时间之后,我把应用按照苹果的规则做了全面调整,重新提交了官方上架申请,这次很顺利就通过了审核,终于能让用户从官方应用商店下载了,官方上架之后才是真的一劳永逸,用户直接从应用商店搜索下载,更新也自动更,根本不会有掉签的问题,信任度也高很多,很多新用户看到应用在官方应用商店能搜到,下载的意愿比原来签名分发高了不止一点,用户增长也快了很多,现在我的正式版本放在官方应用商店,内部测试版本放在TF签名,两种都是苹果官方认可的方式,稳定又省心,再也不用像原来那样天天折腾补签掉签的问题了,原来花在签名上的时间精力,现在全都用来优化应用,服务用户,收益也比原来高了很多。

说到这里,我也把这么多年用过的各种签名方式做个真实的对比,从价格渠道来说,共享企业签名价格很低,渠道很多,随便搜就能找到,但是稳定性极差,掉签频繁,独家企业签名价格比共享高很多,渠道一般都是做了很久的大服务商,稳定性比共享好一些,但是还是有被牵连掉签的风险,超级签名按下载量收费,用户越少成本越低,用户越多累计成本越高,一定要找正规的服务商,要是碰到用黑号的服务商,很容易出现大面积掉签,TF签名按周期收费,价格比普通的企业签名高一些,但是比长期用超级签名成本低很多,而且稳定性极高,几乎不会掉签,H5封装价格很低,但是体验极差,功能受限,留不住用户,官方上架只需要支付开发者账号的费用,要是找代办的话再加代办费用,成本不算高,但是对应用的要求也高,需要符合苹果的规则才能通过审核,但是官方上架是最稳定,体验最好的方式。

我这么多年折腾下来,最大的感受就是,找签名一定不能只看价格,稳定性才是最重要的,便宜的签名天天掉签,损失的用户和花在补签上的时间精力,成本不知道比贵一点的稳定签名高多少倍,我原来贪便宜用便宜的签名,折腾了那么久,损失了那么多用户,最后还是换成了稳定的方案,早知道一开始就用稳定的方案,也不会损失那么多用户,也不会浪费那么多时间了,原来我每次掉签都要挨个通知老用户重新安装,有的用户换了手机找不到原来的安装包,还要重新发给用户,一步一步教用户怎么操作,有时候用户嫌麻烦干脆就不用了,每次掉签都要走一遍这个流程,心态都快崩了,现在用稳定的方案,根本不用管这些杂事,用户自己就能完成安装更新,出问题的情况几乎没有,我每天只需要专心优化应用,开发新功能,服务好用户就可以了,这种轻松踏实的感觉,是我之前天天踩坑的时候根本不敢想的。

其实现在很多做内测应用或者暂时没法上架的开发者,都会纠结选什么签名,我以自己踩过这么多坑的经验来看,如果能调整应用符合规则,一定要优先走官方上架,这才是最稳定最长久的方案,如果暂时没法上架,选TF签名过渡绝对是最省心的选择,正规的TF签名几乎不会掉签,也不用天天补签,成本也不会像超级签名那样随着用户增长越来越高,体验比企业签名和超级签名都好太多,就算遇到什么问题,也不需要用户反复折腾,只要本身应用没问题,就可以一直稳定使用,这么久用下来我真的觉得,找对了稳定的方案,比什么都重要,省下来的时间精力,能做太多对应用发展有用的事情了。