做内部自用的iOS开发有好些年,踩过的签名坑能堆满满一箩筐,最早刚做完第一个自用APP的时候,完全不懂签名这回事,听圈里人说企业签名便宜好用,不用走官方审核就能分发,想都没想就找了商家做,谁知道这一踩坑就是好久的折腾,天天跟掉签斗智斗勇,直到摸遍了所有主流签名方式,才找到适合自己的稳定用法,今天就把这些经历说出来,给还在坑里的朋友提个醒,苹果企业签名风险真的不少,选不对方式只会天天折腾。
其实iOS本身是封闭系统,所有能在手机上打开运行的APP,都必须经过苹果官方授权的证书签名,没有签名的包,系统直接拦着不让打开,这是iOS的安全机制决定的。苹果给不同用途的开发者发不同类型的证书,对应不同的签名方式,市面上常见的几种签名,本质都是用不同权限的证书给APP包做授权,让系统信任这个APP。最开始我用的就是企业签名,企业签名用的是苹果发给企业的企业开发者证书,本来是给企业做内部APP分发用的,不需要上架官方商店就能直接安装,所以很多不需要公开上架的APP都会选这种方式,可这里面的坑真的太多了。我最早找的商家,报价很低,说可以用很久,交完钱没几天就出问题,好好的APP突然就打不开了,一点就闪退,找商家才说证书被封了,也就是大家说的掉签,得重新补签。那一次补签花了好长时间,我还要挨个通知所有使用的人卸载重装,折腾大半天才恢复,本来以为是偶然事件,结果没隔多久又掉了,来回掉了好几次,后来商家干脆联系不上,交的钱打了水漂,APP也没法用,那段时间真的愁得睡不着。后来才知道,那种低价企业签名基本都是共享证书,把好多不同的APP都签到同一个证书里,只要其中有一个APP违规被苹果查到,整个证书都会被封,所有签过的APP全部掉签,这就是苹果企业签名最大的风险,贪便宜用共享证书,掉签就是家常便饭。
掉签掉到崩溃之后,我开始挨个试市面上其他的签名方式,第一个试的就是超级签名。超级签名用的是个人开发者证书,每个个人证书能绑定的设备数量有限,所以超级签名就是把好多个人开发者证书攒在一起,用户下载的时候自动绑定设备,只要证书不被封,一般不会随便掉签。我那时候用户不多,觉得刚好能用,就找商家做了,初期用起来确实比共享企业签名稳定,很少出问题,但是用了一段时间就发现问题,只要有人换设备,就得重新绑定重新算费用,长期下来累计的成本越来越高,而且后来也碰到过个人证书被封的情况,对应绑定的所有设备都掉了,虽然不是全部掉,但也要挨个通知重新安装,还是折腾。
用完超级签名,我又听人说H5封装省心,就试了H5封装。H5封装其实就是把网页包成APP的壳,本质上还是一个APP包,该需要签名还是需要签名,而且封装之后的体验真的太差,很多原生功能用不了,推送经常收不到,加载速度也慢,用的人都纷纷吐槽,根本没法日常用,等于多花了一笔封装的钱,还是解决不了掉签的问题,白花钱。
接着试的是TF签名,这也是我用到现在觉得最省心的方式之一。TF签名其实用的是苹果官方的测试渠道,就是把APP传到官方的测试平台,用户通过官方平台下载安装,本身就是苹果认可的分发方式,所以根本不存在掉签的问题。我当时找正规商家帮我提交,很快就通过了,给了分发链接,用户点链接就能跳转到官方平台下载,非常方便,用了好长时间都没出过任何问题,哪怕到期了,重新提交一次就能继续用,用户不用重新卸载安装,直接就能用,真的太省心。
后来我也考虑过官方上架,就是直接把APP放到官方商店,官方上架本身是最稳定的,只要审核通过,就能一直用,用户直接在商店搜索下载,根本不会有掉签的问题,但是官方上架的审核非常严格,很多内部自用或者不符合规范的APP根本过不了审核,而且我做的是内部APP,也不希望对外公开下载,所以官方上架适合对外发布的正规APP,对我来说不太适用。
试完所有的方式之后,我也慢慢摸出了门道,后来需要做大一点用户量的内部APP,我就找正规商家做了独享的企业签名,和之前的共享签名不一样,独享签名就是一个证书只签我自己的APP,不会签其他无关的APP,只要我的APP本身不违规,就不会因为别人的APP被牵连封号,价格虽然比共享签名高一些,但是稳定太多了。用到现在这么久,只出过一次问题,还是因为我更新APP的时候加了不合规的内容,被苹果查到掉签,我改完内容之后找商家补签,当天就弄好了,而且商家承诺的免费补签也没有额外收费,非常靠谱。
这段时间和不同签名打交道,也攒了不少关于价格和渠道的对比经验,不同渠道的差异真的很大,低价的共享企业签名,看起来成本很低,实际上天天掉签,来回换商家来回花钱,总花费其实更高,还耽误事;独享企业签名,每个周期的费用虽然高一些,但是稳定,很少掉签,算下来其实更划算;超级签名按设备收费,适合用户很少而且很少换设备的场景,要是用户经常换设备,成本会越来越高,长期用不划算;TF签名的费用不高,一次提交能用很久,续期也便宜,而且是官方渠道,非常稳定,是小范围用APP的首选;H5封装本身还要额外加钱,体验还不好,不建议选;官方上架自己申请开发者账号就行,年费不高,要是能通过审核,就是最划算最稳定的,只是审核门槛高,很多APP过不了。
说到重签和补签的经历,我真是一肚子话要说,最早用共享企业签名的时候,掉签就是家常便饭,每次掉签都要重新换证书重签,我要挨个通知所有人卸载重装,很多不熟悉手机操作的人还要我一步步教,有时候折腾一整天才能全部弄好,刚弄好没几天又掉,又要重新来一遍,那时候真的想放弃不做了,后来试超级签名,掉签一般只是部分设备掉,虽然比全掉好,但是也要挨个通知重新安装,还是麻烦,还要额外补收设备费用,闹心的很。用了TF签名和独享企业签名之后,就很少需要补签重签了,TF签名根本不会随便掉签,只有到期续期的时候重新提交一下,用户都不用重新安装,非常省心,独享企业签名也很少掉签,真出问题商家也会很快帮忙补签,不用自己瞎折腾。
现在我做新的APP,基本都是先选TF签名,能做TF就做TF,实在做不了TF再做独享企业签名,这么久用下来,几乎没有因为签名的问题耽误过事,员工用着省心,我也不用天天盯着掉签的问题,省了超多时间精力。其实很多人和我一样,一开始找签名都只看价格,贪便宜选低价的共享签名,结果掉进坑里出不来,天天折腾掉签,反而花了更多钱耽误更多事,苹果企业签名的风险真的要提前注意,不要随便找不知名的小商家,不要用共享证书,找正规的服务商做独享,或者直接做TF签名,才是稳定的开始。我自己踩过这么多坑之后,现在身边朋友找签名我都会推荐他们优先选TF,稳定不贵还省心,要是用户量大再选正规的独享企业签名,千万不要贪便宜吃大亏。现在这么稳定的用下来,才明白找对签名方式有多重要,之前踩坑的那些经历,也成了现在选方案的经验,再也不用天天跟掉签斗智斗勇,能把更多精力放在产品本身,不用浪费时间在这些折腾的事情上。很多人总觉得签名只是个小环节,没必要花太多钱找稳定的,可真等天天掉签耽误了正事,才知道稳定才是最重要的,我走了这么多弯路,终于拿到了属于自己的稳定方案,也希望更多刚入行的朋友能避开我踩过的坑,不用再重复我的遭遇。