玩iOS签名机制研究快六年了,最早做iOS开发接私活的时候,就遇到很多客户做内部定制、H5封装的APP过不了AppStore审核,需要做IPA签名分发,前两年我专门花了大半年时间做超级签名A/B测试,把市面上主流的签名渠道、类型摸了个遍,踩过的坑比见过的正常签名还多,今天把所有干货整理出来,给需要的朋友做参考。
先从最基础的说起,很多刚接触iOS签名的朋友搞不懂设备签名的底层逻辑,其实苹果从第一代iOS开始就实行了“所有安装到设备的APP必须有合法签名”的规则,没有苹果认可签名的IPA包,系统直接会提示“不受信任的开发者”,根本无法安装。IPA签名说白了就是给你未上架的安装包,加上对应开发者账号授权的签名凭证,让iOS系统认可这个安装包的合法性,允许用户安装。而设备签名的核心逻辑,其实就是苹果的UDID绑定授权机制:不管是个人开发者账号还是企业开发者账号,苹果都会给账号开放对应数量的设备授权名额,只有把用户设备的唯一识别码UDID加到授权列表里,对应的签名才能生效,这也是所有iOS设备签名最基础的逻辑。我最早研究签名的时候走了弯路,以为签名是绕过苹果的验证机制,其实根本不是,正规签名全都是走苹果官方的接口,用的是账号本身的合法权限,不存在所谓的“绕过”,这也是稳定签名的基础。
接下来讲证书分发原理,目前主流的分发路径其实分四种,对应不同的证书和账号:第一种就是大家最熟悉的上架AppStore,用的是苹果官方的发布证书,开发者提交审核通过后,苹果会给APP重签名,所有用户都可以直接从AppStore下载安装,这是最稳定的方式,但是审核规则非常严格,很多H5封装的内部工具、内测应用、垂直领域定制APP根本过不了审,我见过一个做企业内部审批的客户,改了五版都因为“没有公开可访问内容”被拒,根本上架不了。第二种就是TF签名,也就是TestFlight签名,本质是苹果官方给开发者开放的内测分发渠道,用的是测试证书,同样是苹果官方认可的分发通道,开发者把IPA包上传到TestFlight后,用户通过邀请链接就能直接下载安装,和AppStore的安装逻辑几乎一样,所以稳定性非常高,这也是现在很多不能上架AppStore的应用首选。第三种就是超级签名,用的是个人开发者账号的测试证书,走的就是我们刚才说的UDID绑定逻辑,一个个人账号最多绑定100台设备,适合中小体量的应用分发。第四种就是企业签名,用的是苹果企业开发者账号的In-House证书,不需要绑定UDID,任意设备都可以安装,适合用户量比较大的应用分发。
讲完基础逻辑,就要说大家最关心的Apple ID风控,这块我踩过的坑真的太多了,做A/B测试的时候,我一开始为了压缩测试成本,批量买了几十块钱一个的二手黑Apple ID,结果不到一周,接近七成的账号都被封了,签名掉得一塌糊涂,后来花了半个月才摸清楚苹果的Apple ID风控逻辑。苹果现在对开发者账号的风控维度非常多,第一个就是登录环境,如果你几十个账号同一IP登录、频繁换设备登录、用云手机批量操作,直接就触发风控,分分钟封号;第二个就是签名行为,如果你一个个人账号,短时间内频繁添加删除UDID,不到一周就把100个名额加满,哪怕你是正常用,也会被苹果判定为违规商用,直接封号;第三个就是签名内容,如果你的IPA包有违规内容,被用户举报或者苹果扫描到,溯源到签名用的Apple ID,直接就是连号带证书一起封,一点商量的余地都没有。我做A/B测试的时候专门分了三组做风控对比:第一组是个人常用IP登录,每个账号每月最多添加80台设备,留20个缓冲名额,三个月下来封号率不到5%;第二组是批量云手机登录,每天加满十个账号的名额,半个月封号率超过60%;第三组签违规内容,一周时间所有账号全被封,所以Apple ID风控说白了就是,你越符合苹果的使用规则,账号越稳定,违规操作早晚都会出事。
接下来就是大家问得最多的独享证书和共享证书,我在A/B测试里专门把这两类做了长达三个月的对比测试。共享证书就是很多小服务商把一个企业证书或者一批个人账号,拿来给几百上千个不同的IPA包共用,说白了就是大家拼摊成本,好处就是价格非常便宜,很多共享企业签名一个月才几十块,共享超级签名一个UDID才几毛钱,看起来性价比很高,但风险极大:只要其中一个签在这个证书上的APP被举报,或者证书触发了苹果的风控,整个证书作废,所有签在上面的APP全都会掉签,所有用户都用不了。我之前帮一个做线下招商的客户救过场,他图便宜找了个99块一年的共享企业签名,用了不到两个月证书掉了,服务商跑路,一百多个代理商都装不了APP,错过了招商会,直接损失十几万,最后找到我重新做了独享签名,才把业务拉回来。而独享证书就是一个证书或者一批账号只给一个客户用,或者只给少数几个合规的IPA签名,不会混签乱七八糟的应用,所以哪怕有一个出问题,也不会影响其他客户,稳定性比共享证书高太多,当然价格也会贵一些,现在市场上的独享企业签名一年大概几千块,独享超级签名一个UDID大概一块五到两块,看起来贵,但是算上掉签带来的损失,其实划算太多。我有个做本地生活H5封装的客户,一开始图便宜用共享超级签名,半个月掉了三次签,好不容易推广来的用户流失了一半,后来换成我这边的独享超级签名,半年多没掉过,用户留存直接涨了四十多个百分点。
然后就是我做超级签名A/B测试的稳定性实测结果,我当时选了五个不同类型的主流渠道,签同一个H5封装的合规IPA包,每个渠道投放给一千个真实用户,测了整整六个月,统计出来的结果其实很直观:最稳定的就是TF签名,六个月下来掉签率是0,因为它本身就是苹果官方的内测渠道,只要你的账号不违规,基本不会掉,当然TF也不是完美的,它有一定的审核门槛,每次更新需要重新审核,而且一个测试链接最多一万次下载,超过了就要重新上传,不过审核比AppStore松很多,大部分合规的H5封装、内部应用都能过,我那个客户的内部审批APP,AppStore三次拒审,改了一点描述就过了TF审核,用到现在一年多都没出过问题。排第二的就是独享超级签名,六个月下来掉签率只有3%,掉签也都是个别账号触发风控,补签之后用户重新安装就能用,几乎不会影响正常使用,而且更新不需要审核,适合几千到几万用户的中小应用,更新非常方便。排第三的是独享企业签名,六个月掉签率大概8%,掉签大多是苹果随机抽封企业证书,补签也很快,当天就能搞定,适合用户量比较大,不想绑定UDID的客户。排第四的是共享超级签名,掉签率达到了42%,接近一半的用户都掉过签,很多服务商用的是黑号,封号了直接就不管了,补签都找不到人。排最后的就是共享企业签名,六个月掉签率超过70%,最多的一个月掉了三次,根本没法正常用。
说完稳定性,再说说我这些年对不同渠道价格的感受,在iOS签名这个领域,真的是一分钱一分货,价格和稳定性基本成正比,便宜的坑远比你想象的多。几十块一个月的共享签名,看起来省钱,掉一次签带来的用户流失、业务损失,远远超过你省的那点钱。价格方面,TF签名一般包上线也就几百块,后续每月维护费一百多,其实非常划算,只要你的APP能过审,绝对是性价比最高的选择,比任何第三方签名都稳定。超级签名的话,共享的虽然几毛钱一个UDID,但是掉签率太高,独享的一块多一个UDID,一千个用户也就一千多块,换来半年不掉签,其实非常划算。独享企业签名一个月几百到上千,适合大流量的客户,也比天天掉签的共享签名靠谱。
我这些年遇到过太多坑,也见过很多客户因为贪便宜吃大亏,之前有个客户做内测,找了个报价比市场价低一半的超级签名服务商,说自己有几百个正规号,保证稳定,结果用了不到十天,所有账号全被封,服务商直接拉黑跑路,客户赶着想内测,急得团团转,找到我之后用独享签名当天就搞定了,才没耽误项目。还有一个做小说H5封装的朋友,推广花了十几万,带来了一万个用户,图便宜用了共享签名,一周就掉签,大半用户都流失了,推广费全打了水漂,后来换成TF签名才慢慢把用户做起来。
其实这么多年研究下来,我最大的感受就是,做iOS签名,稳定才是硬道理,所有说“永不掉签”的都是噱头,苹果政策一直在调整,哪怕是AppStore也有下架的可能,但是正规的独享签名,合规操作,掉签概率非常低,就算掉签也能快速补签,不会影响正常业务。对于不能上架AppStore的应用,能做TF签名就优先做TF,毕竟是苹果官方的,稳定性有保障,不能过TF审核的,就选独享超级签名,尽量不要碰共享证书和低价签名,不要为了省一点小钱,把自己积累的用户和辛辛苦苦做的业务都赔进去。