做内部工具开发这么久,我最开始大半的精力都耗在签名掉签上,那段时间掉签掉到我怀疑人生,试过了各种方式,踩了数不清的坑,才找到现在这个稳定能用的方案,说起来都是实打实的经验。最开始做这个工具的时候,我们只是小团队几个人用,功能还在快速迭代,根本没打算急着上架官方商店,所以一开始就想着找个签名做内部分发就行,那时候我对苹果签名完全不懂,只听人说签名分好多种,我就随便找了最便宜的方式试,哪知道从此就开始了天天掉签天天补的噩梦。
后来踩坑多了我才慢慢搞懂苹果签名的基本原理,iOS系统封闭,所有安装到手机上的App都必须经过苹果授权的证书签名,没有签名的App系统根本不认,连安装都安装不了,而不同类型的证书对应不同的账号权限,不同签名方式本质就是用不同类型的证书来给你的App授权,不同的权限对应不同的稳定性和使用限制,这个道理我也是踩了坑才弄明白的。
最开始我试的是企业签名,那时候听别人说企业签名不限制设备数量,价格便宜,适合内部分发,我就找了个网上报价几十块一个月的共享企业签名,付了钱就把包传上去了,一开始两三天用着确实没问题,大家都能正常安装,我还以为捡了便宜,哪知道第四天早上刚到公司,就收到好几个同事的消息说App打不开了,点进去就是灰色的,提示未受信任的企业开发者,我才知道这就是掉签了,赶紧找商家补签,商家说共享签名掉签是正常的,补签要等几个小时,好不容易等补完签,发了新链接让大家重新下载,刚安稳了一个星期,又掉了,那段时间我平均每周要补个两三次签,每次补完都要挨个在群里通知,教大家怎么删除旧包怎么装新包,有时候大家在外面跑客户,没有wifi,下包还要耗不少流量,怨言特别多,我自己也烦得不行,有次跟重要的合作伙伴演示我们的工具,刚演示到核心功能,App直接闪退打不开,掉签掉的真不是时候,那个尴尬我到现在都记得。后来我咬咬牙加钱换了贵的独立证书企业签名,一个月大几百,比之前贵了十倍,说是一个证书只放我一个App,不会轻易掉,结果稳定了半个多月,还是掉了,原来苹果对企业开发者证书管控本来就严,只要证书被举报或者检测到有非合规内容,整个证书都会被封,不管是不是独立证书,都有掉签风险,那段重签补签的日子真的是我做开发以来最闹心的一段经历,我甚至想过要不干脆放弃算了,直接提交官方上架算了,哪知道提交了两次,都因为我们工具里有很多只对内部开放的功能,不符合官方上架规则,直接被拒了,审核了快半个月,最后还是没通过。
没辙我又开始找别的办法,有人给我推荐H5封装,说H5不用签名,直接就能打开,我想着那就试试吧,找了个平台把我们的H5页面封装成了App,装好之后才发现体验差到离谱,我们工具需要调用相机扫二维码,还需要缓存本地数据,H5封装的App动不动就卡,权限请求弹好几次,有时候甚至连相机都调不出来,推送消息也收不到,客户那边反馈根本没法用,用了不到一周我就弃用了,原来H5封装本质还是要签名才能安装成原生App,而且体验和原生App差太多,只适合做简单的展示类应用,有功能需求的根本没法用。
之后我又试了TF签名,也就是苹果官方的TestFlight内测,都说TF是官方的内测渠道,不会掉签,我一听就动心了,找了商家帮忙把包上传到TF,弄好之后大家去TestFlight下载安装,一开始确实稳定,用了快一个月都没出任何问题,我那时候以为终于找到靠谱的了,哪知道用了一段时间我们团队扩招,还加了不少外部合作伙伴要用,TF最多只有一千个测试名额,一下子就不够用了,而且TF的测试资格只有三个月,到期之后就要重新上传重新弄,我那次就是忘记提前续期,到期之后所有人都用不了,又折腾了整整一天才重新弄好,而且安装的时候每次打开都要跳一下TestFlight,体验也不算好,对于我们需要天天用的工具来说,还是有点麻烦。
就在我快绝望的时候,朋友给我推荐了超级签名内测分发,说这个是目前小团队内测最稳定的方式,我抱着试试看的心态接触了,哪知道一用就用到现在,快一年了都没换过。一开始我也听过关于超级签名的负面说法,说超级签名也会掉签,那其实是因为很多不良商家用的是共享的个人开发者账号,一堆App挤在一起,自然容易被封,找对渠道用正规的独立个人账号,稳定性真的比之前所有方式都好。我后来也搞懂了超级签名的原理,超级签名用的是个人开发者账号的内测授权,每个个人开发者账号允许最多一百台设备安装,签名的时候自动获取设备的UDID绑定,只要账号不违规,苹果根本不会封,所以稳定性特别高。
这段时间我也对比过各种签名方式的价格和渠道,最便宜的就是共享企业签名,几十块一个月,但是掉签掉到你没法用,一分钱一分货真的没错;独立企业签名从几百到上千一个月不等,就算最贵的还是有掉签风险,运气不好一个月掉个两三次太正常;TF签名一般是一两百块一次,能用三个月,但是限一千个名额,适合小体量的内测,人数多了就不行;H5封装一般几十块就能做,但是体验太差,功能受限多;超级签名一般是按下载量收费,或者按月包固定的下载量,我现在用的是按月包两百个下载,一个月才不到三百块,比靠谱的独立企业签名便宜多了,稳定性却好太多。
我之前那段重签补签的经历真的不想再来一次,最早用共享企业签名的时候,我手机里存了五六个不同版本的安装包,微信群置顶就是补签通知,半夜睡觉都要开着消息,就怕突然掉签没人处理,后来换了超级签名之后,这种焦虑完全消失了,我用了快一年,只有一次是我自己更新大版本主动换的安装包,从来没有无缘无故掉签过,更别说需要补签了,现在我更新完版本,直接把包上传到分发平台,平台自动就签好了,把链接发到群里,大家点一下就能直接安装,不用越狱,不用跳转到别的应用,也不需要手动填UDID,平台自动就能获取,安装体验和官方上架的App几乎没区别,大家用着都觉得方便。
后来我也优化了工具的内容,把正式对外的版本改成符合官方要求的内容,成功上架了官方商店,给外部客户用正式版,对内的测试版本还是一直用超级签名内测分发,因为内测需要每天更新版本,官方上架审核要等好几天,太耽误开发进度,超级签名打包完几分钟就能分发下去,团队马上就能用上新版本,效率不知道高了多少。
其实做小团队开发或者创业初期做内测,找到一个稳定的签名分发真的太重要了,我之前踩过那么多坑,就是因为一开始不懂,贪便宜找了不靠谱的,把大把的时间都耗在补签掉签上,根本没心思好好做产品,现在找到稳定的方案之后,整个人都轻松了很多,能把全部精力放在产品功能优化上。对比下来,如果你是做内测分发,团队人数不算特别多,超级签名真的是目前性价比最高也最稳定的选择,比企业签名稳,比TF灵活,比H5封装体验好,就算人数多一点,多弄几个账号分发,成本也比靠谱的企业签名低,稳定性还好太多,我现在两个账号加起来也才几百块一个月,用着特别放心,从来不用担心突然掉签影响使用。
这段从掉签频繁到稳定使用的经历,让我明白找对适合自己的签名方式真的太重要,不要贪便宜找那种不靠谱的低价,也不要盲目选贵的,适合自己的使用场景才是最好的,我现在已经稳定用了快一年,整个团队没有人再因为签名的问题找我,这种省心的感觉,只有之前天天掉签的人才能体会得到。就算是后续需要扩容,也只需要再加开一个签名账号就行,操作起来特别简单,不需要重新做什么配置,大家也不需要换链接,整个过程完全不影响正常使用,这么久用下来,我身边做小开发的朋友我都推荐他们用超级签名做内测,很少再有朋友碰到之前我遇到的掉签问题,大家都觉得省心太多,原来内部分发也可以不用天天折腾,只要选对了方式,就能安安稳稳用很久。