我玩iOS签名五年:聊聊企业签名服务商那些事

接触iOS签名快六年了,最开始是帮做企业服务的朋友做内部工具分发,那时候完全不懂规则,踩了不知道多少坑,摸爬滚打这么久,也算是摸透了整个签名机制的逻辑,今天就以我自己的经历,跟大家聊聊这行的门道。

首先说最基础的设备签名逻辑,iOS的封闭系统大家都知道,所有能在设备上运行的APP,都必须经过苹果的签名授权,没有合法签名的安装包,iOS内核会直接拦截,根本打不开。我最开始以为签名就是给IPA包盖个“允许运行”的章,其实没这么简单,设备签名的核心逻辑,是苹果把允许运行该APP的设备信息绑定在签名证书里,安装完成后系统启动时,会逐层核对IPA包的签名信息、证书权限、设备UDID信息,只有所有信息匹配,才会允许APP启动。最早我用自己的个人苹果开发证书签名,那时候才知道个人开发证书最多只能绑定100台设备,朋友公司当时要给200多销售装外勤管理APP,直接不够用,这才开始找ios企业签名服务商合作,也才真正深入了解整个证书分发的逻辑。

接下来讲证书分发原理,我们常见的签名,其实分为几种不同的证书类型,最常见的就是个人开发的AdHoc签名、企业级开发证书签名,还有就是依托TestFlight的TF签名。企业证书本身是苹果发给正规企业,用于给内部员工分发内部应用的证书,它和个人证书最大的区别是,不需要提前绑定每台设备的UDID,理论上可以给任意数量的设备安装,也不需要把APP上传到AppStore审核,非常适合内部工具、内测应用、不符合AppStore上架规则的应用分发。分发原理说穿了也简单,服务商拿到正规的企业开发证书后,只需要对用户提供的IPA包做重签名,替换掉原来的签名信息,就能生成可以直接安装的包,再通过下载链接分发,用户扫码就能下载安装,这就是我们常说的IPA签名,很多做H5封装的开发者,把网页封装成IPA包之后,第一件事就是做签名,不然根本没法在iOS上安装。

说到这里就不得不提Apple ID风控,这可以说是决定签名稳定性的核心因素,不管是申请企业证书还是做TF签名,都离不开苹果账号,而苹果最近这几年的风控规则越来越严,已经不是随便注册个号就能用的了。苹果现在的风控是多维度建模,注册IP、登录设备环境、操作频率、甚至密码输错次数都会纳入评估,那些批量注册、频繁换IP登录、被多人共享的Apple ID,非常容易触发风控,一旦触发风控,账号会被直接封禁,对应的证书也会被立即吊销,所有用这个证书签名的APP都会掉签,直接打不开。我早几年踩过最大的坑就是这个,找了一个小服务商,价格特别便宜,结果他用的就是黑户共享号,申请的证书不到一周就被封了,我朋友两百多台设备全打不开,正好赶上月初冲业绩,差点把整个项目搞砸,找服务商说理的时候,人家直接消失了,只能吃了这个哑巴亏。现在正规的ios企业签名服务商,都会专门做Apple ID养号,每个号都用固定IP、固定设备登录,模拟正常用户的使用行为,不会随便批量操作,大大降低了触发风控的概率,证书存活时间自然就长很多。

大家找签名的时候肯定都听过独享证书和共享证书,这两种证书的稳定性差的不是一点半点,我也实测过无数次。共享证书说白了就是一个证书给几百上千个用户用,大家把自己的IPA都签在上面,成本低,价格自然也便宜,我见过最便宜的九块九就能签一个月,一百块以内就能拿到季度卡。但问题就是鱼龙混杂,什么类型的APP都往上面放,只要有一个APP涉及违规被用户举报,或者被苹果检测到,整个证书就会被封,上面所有APP全都会掉签。我之前见过一个共享证书上面挂了快两千个APP,平均不到十天就掉一次签,用户天天找服务商补签,烦不胜烦。而独享证书就是整个证书只给一个用户用,整个证书上只有你自己的APP,只要你的APP本身不违规不被举报,基本不会无缘无故掉签,我最长的一个独享证书,给客户做内部OA用,用了快两年都没出过问题,稳定性差的不是一点半点。当然价格差的也多,不同渠道的价格感受我也总结一下,淘宝、拼多多那种几块几十块的基本都是共享黑证,能用超过一周就算运气好;第三方平台的共享签名一般几十到一百多一个月,适合临时测试用,正式商用绝对不行;独享证书的价格一般一个月三百到一千多,正规服务商的年卡一般五六千,平均下来一个月才几百,比按月付划算很多,贵是贵一点,但稳定带来的价值远超过差价。

关于稳定性,我前后实测过不下二十家ios企业签名服务商,从几块钱的到几千块一个月的都试过,给大家说下真实的实测结果:九块九包邮的共享签名,稳定性基本为零,绝大多数撑不过三天,掉签之后服务商直接失联,就是赚快钱割韭菜;一百块左右一个月的共享签名,稳定性二十分,平均掉签周期7到15天,掉签了有时候给补有时候不给,只适合临时测试个三五天,绝对不能给正式用户用;五百块左右的共享签名,稳定性四十分,平均掉签周期一个月左右,服务商一般会给补,但只要证书被封还是全完,依旧不适合商用;三百到六百一个月的独享证书,稳定性八十五分,只要APP本身不违规,平均掉签周期在半年以上,我实测的一个做内部分拣系统的客户,用了八个月才掉过一次,还是服务商换服务器误操作导致的,当天就补好了,用户几乎没有感知;一千块以上的顶级独享证书,稳定性九十五分,我测了快一年,只掉过一次,还是赶上苹果全平台清理企业证书,服务商两个小时就补好了,基本不影响业务。

很多人会问,为什么不直接上架AppStore?其实大部分需要签名的APP,要么是企业内部工具,不需要面向公众上架,要么是还在开发内测阶段,不需要上线,还有一部分是不符合AppStore的审核规则,根本过不了审,所以才需要用签名分发,这里面最多的就是H5封装的APP,很多中小开发者把业务封装成H5应用,再打包成IPA,根本不需要上架,只需要给目标用户安装,所以签名就是必不可少的环节。现在除了企业签名,TF签名也是很多人的选择,TF就是苹果官方的内测平台TestFlight,TF签名就是把APP放到TestFlight里让用户下载,属于苹果官方认可的分发方式,稳定性比普通企业签名还要高,只要账号不违规,基本不会掉签,用户安装也不需要手动信任证书,体验更好,唯一的限制就是TF最多只能容纳一万个测试用户,用户量超过一万就没法用了,所以万人以内的项目优先选TF,万人以上再用独享企业签名,这是我这么多年总结出来的最优方案。我之前帮一个做社区团购的客户做分发,最开始他们图便宜用了一百块的共享签名,半个月掉了三次,很多团长不会重新下载,直接流失了十几个团长,损失不小,后来换了TF签名,不到一千块包一年,用到现在快一年了都没出过问题,用户体验好了很多,团长流失率直接降了八成。

这么多年玩下来我最大的感受就是,签名这个行业真的是一分钱一分货,稳定才是最核心的需求,贪便宜找便宜签名,掉一次签损失的用户和业务,比省下来的那点签名钱不知道多多少,选对靠谱的ios企业签名服务商,比什么都重要。只要你不碰违规内容,选正规的独享证书或者TF签名,稳定用一年以上根本不是问题,这也是我踩了无数坑之后得到的最实在的经验。