我最早做iOS端内部测试APP的时候,完全不懂签名这行的水有多深,只想着能绕开App Store安装就行,谁知道一开始就掉进了坑里,整整小半年时间,大半精力都花在应付掉签、补签、重签上,差点把整个内测项目都耽误了,直到折腾了一圈才找到真正稳定能用的方案,今天就把我这些真实经历写出来,给同样需要的朋友做个参考。
最开始找签名的时候,我听人说企业签名最便宜,就随便找了个小商家做了共享企业签名,几十块钱一个月,当时还觉得捡了大便宜,谁知道安装完第三天就掉签了,用户打开直接提示无法验证APP,所有已经安装的用户都用不了,我赶紧找商家补签,商家说证书被苹果封了,要等换证书,硬生生等了大半天才能重新下载,结果没过一个礼拜又掉了,半个月下来掉了八次,每次都要通知所有用户重新下载,内测用户怨声载道,好多人直接放弃测试了,后来我才搞懂证书的原理:所有iOS APP想要不越狱安装,都必须要有苹果官方签发的信任证书,不同签名用的证书类型不一样,企业签名用的是苹果发给企业开发者的内部测试证书,本来就是给企业自己内部员工用的,苹果管控很严,如果一个证书签了几十上百个外部APP,很容易被苹果检测到吊销,吊销之后证书就失效了,自然就掉签,共享企业签名就是一堆APP挤同一个证书,掉签频率当然高得吓人。
后来我听同行说超级签名稳定,就转去做超级签名,超级签名用的是个人开发者账号的证书,原理是把用户设备的UDID加到个人开发者账号的测试设备列表里,再给APP签名,一个个人账号最多只能加一百台设备,按下载量收费,我当时内测只有一百多个用户,算下来一个下载三块钱,总共花了四百多,一开始确实稳定了小半个月,我还以为终于找对地方了,结果不到一个月,某天早上起来打开APP,直接用不了了,问商家才说做签名的那个个人账号被苹果封了,所有绑定的设备全部掉签,想要用只能重新做,重新下载还要再收一次钱,之前花的钱全部打了水漂,原来好多小商家做超级签名用的都是被盗来的黑号,或者违规批量注册的账号,本身就不稳定,苹果一查就封,一封号全掉签,那次折腾完我花了快一千块,还是没搞定稳定的签名,又开始找新的方案。
中间我走投无路还试过H5封装,就是把网页套个原生壳做成APP,说不用怎么花钱,几百块就能做好,结果做出来才发现,好多原生功能根本调用不了,推送收不到,相机和本地存储权限也经常出问题,用户用起来卡得不行,而且封装完还是要签名,本质还是逃不开证书的问题,不到一个礼拜又掉签了,完全没法正常用,我也考虑过做官方上架,官方上架肯定是最稳定的,毕竟直接放在App Store里,苹果官方认可,根本不会掉签,可我们那时候是内测版本,很多功能还没完善,而且APP是给内部员工用的客户管理工具,有些自定义内容不符合App Store的审核规则,找了服务商交了三千多上架服务费,审核三次都没通过,钱花了也没弄成,而且官方上架审核周期长,动辄十天半个月,对于我们这种要快速推进内测的项目来说,根本等不起。
折腾了快三个月,我才听一个做开发的朋友推荐试试TF签名,那时候我对TF签名完全不了解,第一个问题就是问朋友,TF签名申请要多久,会不会耽误我们的项目进度,朋友说找正规的服务商走官方流程,一般一天以内就能弄好,我抱着死马当活马医的心态找了正规服务商,提交了安装包,服务商跟我说,TF签名其实就是把APP放到苹果官方的TestFlight内测平台,本质是苹果官方认可的内测方式,用的都是苹果官方签发的证书,本身就是苹果允许的内测渠道,所以不会随便吊销证书,自然就不会掉签,我当时还半信半疑,结果提交完不到八个小时,服务商就把下载链接给我了,比我预想的快太多,我自己先安装测试,没问题,又发给所有内测用户,用户只要下载TestFlight之后点一下链接就能安装,不用像企业签名那样还要去设置里信任证书,好多不会操作的用户也能轻松装上,体验好了不止一点。
用了一个月,我天天盯着,一次都没掉,用了三个月,还是好好的,用到现在快一年了,从来没出现过掉签打不开的情况,我终于不用每天早上起来第一件事就是打开APP测试能不能用,也不用天天盯着商家补签,更不用一个个通知用户重新下载,省出的精力全部用来做产品优化和测试,项目推进比之前快了太多。这段时间我也把所有签名方式的价格和稳定性摸得清清楚楚,共享企业签名几十到一百多一个月,价格极低,但掉签频率高到离谱,完全没法正经用;独立企业签名一个月几千到上万,虽然比共享稳定,但还是有被苹果吊销的风险,而且成本太高,小团队根本扛不住;超级签名按下载收费,一个下载几块钱,用户多的话一个月下来成本比独立企业签名还高,而且只要账号被封全掉签,风险极高;H5封装几百块就能做,但功能阉割体验差,本质还是要签名,一样不稳定;官方上架最稳定,但审核严门槛高,很多APP过不了审核,成本也不低,只适合成品上线的APP;TF签名价格一般按年收费,一年几千块,比独立企业签名便宜太多,比超级签名的累计成本也低,而且是苹果官方认可的渠道,只要APP本身不违规,根本不会掉签,申请也快,正规渠道最慢一天就能做好,对于内测和内部使用的APP来说,简直是量身定制的方案。
说起之前的补签重签经历,我现在都头疼,用共享企业签名的时候,有一次我们要给大客户做项目演示,头一天晚上掉签了,我找商家补签,商家直到第二天演示前一个小时才回复,差点把客户弄丢,那个教训真的太深刻了;用超级签名那次账号被封,一百多个用户全部掉签,我一个个发通知,一个个教用户怎么重新下载,忙了整整两天,本来要推进的测试进度直接推迟了一周,那时候我真的想过,干脆放弃iOS端的内测算了,太折腾了,结果换了TF签名之后,所有的麻烦都没了,从做好到现在,我一次补签重签都没做过,也从来没出现过打不开的情况,用户想用随时扫码下载,官方渠道也不会有安全提示,用户信任度也高。
好多身边做内测的朋友找我问经验,第一句也总是问TF签名申请要多久,怕等太久耽误事,我都会告诉他们,找正规服务商走官方流程,最慢也就一个工作日,很多时候半天就能弄好,这点等待时间和之后大半年一年不用折腾的稳定比起来,真的算不了什么,我之前贪便宜找便宜签名,前前后后花的冤枉钱都够做两年TF签名了,还耽误了项目进度,损失比签名费大多了,所以找签名真的不能只看价格,稳定才是最重要的。
现在我所有的内测APP和内部工具,全部都转成TF签名了,用了这么久,真的没出过任何问题,稳定又省心,对于还在踩坑的朋友来说,真的可以试试,如果你能做官方上架当然最好,那是最稳定的选择,但要是你做内测或者内部使用,没法上架App Store,TF签名绝对是目前我用过的最稳定的方案,比超级签名、企业签名都靠谱太多。