我玩iOS签名机制快八年了,从最早的越狱时代就开始帮圈内朋友捣鼓内测应用分发,这些年踩过的坑、见过的稳定玩法比大多数服务商都多,现在不少做独立开发、私域业务的朋友,都绕不开iOS签名——毕竟不是所有应用都能上架AppStore,尤其是很多H5封装的业务应用,要么类目不符合要求,要么还在测试阶段,只能靠各类IPA签名实现分发,今天我就把自己摸出来的干货全说清楚,也给大家提个醒,说说大家容易忽略的苹果企业签名公开下载风险。

先从最基础的设备签名逻辑说起,iOS是出了名的封闭生态,所有能在手机上正常打开的安装包,都必须经过苹果信任体系的签名验证,不然系统直接提示“无法验证此应用”,根本不让启动。这个逻辑的核心其实是加密验证:苹果手里掌握着顶级公钥,开发者用自己证书的私钥给IPA包签名,iOS系统启动应用前会先拿苹果的公钥验证这个签名,确认是合法授权的应用才会放行。我们常说的IPA签名,本质就是给未上架的IPA安装包重新加上符合苹果规则的签名信息,让系统放行安装,很多H5封装出来的应用,本身只是把网页打包成了IPA格式,没有经过官方签名,自然需要做重签名才能分发。

接下来聊聊证书分发原理,苹果给不同类型的开发者发放不同权限的证书:个人开发者证书、公司开发者证书主要用来上架AppStore,而企业级开发者证书,就是我们做企业签名的核心,苹果开放这个证书的初衷,是给大企业做内部员工应用测试用的,允许不经过AppStore直接分发安装,理论上没有设备数量的限制,只要证书有效,安装过的应用就能一直打开。签名分发的流程其实不复杂:开发者从苹果开发者后台导出证书p12文件和描述文件,用签名工具给需要分发的IPA包替换原有的签名信息,重新打包后生成下载链接,用户点击链接就能安装到手机上,整个过程不需要用户越狱,也不需要绑定苹果ID,非常方便。但苹果有一个核心规则:证书如果被检测到违规,苹果可以随时远程吊销,吊销之后所有用这个证书签名的应用都会立刻打不开,也就是我们常说的“掉签”。

再说说大家都关心的Apple ID风控,不管是做TF签名还是个人开发证书签名,都绕不开苹果的风控机制。TF签名其实就是依托苹果官方内测平台TestFlight的签名方式,本质是把应用提交到TestFlight上架,用户通过TestFlight下载安装,属于苹果官方认可的内测分发,稳定性本来应该是最高的,但做TF签名需要用Apple ID提交应用,苹果现在对Apple ID的风控比十年前严太多了。我之前就吃过风控的亏:帮客户批量提交五个TF签名应用,图省事用同一个代理IP登录了三个共享Apple ID,结果当天三个ID全被苹果锁定,里面已经上架的四个TF应用全部失效,我赔了客户小一千的补偿金,还折腾了整整一周才重新提交完。现在苹果的风控是机器学习识别,只要你一个ID短时间内提交多个应用,或者同一个IP登录多个ID,甚至ID的登录地点频繁变化,都会触发风控,轻则无法提交应用,重则直接封号,很多用共享Apple ID做的签名,说掉就掉,大部分都是ID被风控封了的原因。

说到证书,就不得不提独享证书和共享证书的区别,我这两种用了这么多年,感受可以说是天差地别。共享证书就是几十个甚至上百个不同的应用共用同一个企业证书,服务商走的是薄利多销,把一个证书的成本摊给很多客户,所以价格非常低。我刚入门的时候贪便宜,拿过一个80块钱一个月的共享企业签名,给客户的H5封装私域电商做分发,结果不到一周就掉签了,问服务商才知道,证书上挂了一个违规的棋牌应用,被举报后苹果直接吊销了整个证书,所有客户全掉签。那次半个月掉了四次签,我天天给客户发重新下载的链接,客户差点跟我解约,从那之后我除非是做两三天就下线的临时测试,再也不碰共享证书。

而独享证书,就是一个证书只给一个客户用,最多放两三个合规的自用应用,不会什么应用都往上签。独享证书的价格比共享高很多,我接触过不同渠道的价格:小代理手里号称“独享”其实还是拆分的共享,一个月也要一百多,真正的源头服务商,真独享证书一个月大概两百到五百,一年下来两千多,看起来贵,但稳定性真的不一样。我去年做过一个整整一个月的稳定性实测,给大家说说真实感受:同一个H5封装的工具类IPA应用,我分别挂了不同类型的签名测稳定性。最便宜的共享签名80块一个月,一个月掉了7次,平均四天掉一次,稳定性只能打1分;中等的所谓“合规共享”260块一个月,说只放正规应用,一个月掉了两次,稳定性打4分,掉一次就要通知所有用户重新安装,用户体验差到极点;真独享企业签名一个季度600,合一个月200,整整31天一次都没掉,只有一次苹果服务器维护,个别用户重启后就恢复正常,稳定性打8分;然后是TF签名,正规渠道做的300块包三个月,整个测试期一次都没掉,因为苹果官方不会随便下架正常的内测应用,除非主动下架,稳定性打9.5分,唯一的缺点就是一个TF应用最多只能下载一万次,超过就要重新提包,而且审核比企业签名严一点。

价格感受我也总结一下:共享签名几十块一个月,看起来便宜,但掉签的隐性成本太高,客户流失、反复折腾的时间成本远远超过那点差价;独享签名虽然贵一点,长期用稳定,算下来其实更划算;TF签名性价比很高,适合下载量不高的长期应用,三百块用三个月,平均下来一个月才一百,稳定性比企业签名还高;能上架AppStore当然是最好的,只要应用合规,上架之后永远不会掉签,用户信任度也最高,就是上架费用不低,包过一般一千到五千,而且很多应用因为规则问题过不了审核,所以才需要签名方案。

这些年我也遇到过很多大大小小的问题,除了之前说的共享掉签、Apple ID风控封号,最可惜的就是朋友踩了苹果企业签名公开下载的坑。我那个朋友做H5封装的本地生活平台,用了真独享证书,为了涨用户直接把下载链接放到官网公开下载,不到一个月就有五千多用户下载,结果苹果风控直接检测到,企业证书被吊销不说,连整个企业开发者账号都被封了,那个账号是他花三万块收的正规企业号,一下子全打了水漂,应用停了一周,好多核心用户都流失了。苹果给企业证书的定位就是企业内部测试使用,本来就不允许公开对外分发,只要你公开放开下载,下载量超过一千就很容易触发风控,不管证书多好,都会被吊销,严重的连开发者账号都保不住,这就是苹果企业签名公开下载最大的风险,很多新手不知道这点,掉签了还怪服务商证书不好,其实是自己操作触了红线。

还有一次我帮客户解决问题,他自己找网上的免费工具做H5封装,然后花几十块做了IPA签名,结果安装之后一直卡在启动页,iOS16系统根本打不开,查了半天才发现,免费封装工具没加对系统权限,签名工具也没适配新系统,重新打包签名才解决,折腾了整整一天。还有做TF签名的时候,我之前提交一个应用,苹果审核三次才过,就是因为H5里加了外部支付链接,苹果不让,去掉之后才通过,这点大家也要注意。

我做这么久签名,最大的总结就是:一分钱一分货,稳定才是硬道理,能上AppStore尽量上,上不了的话,小量长期用TF,大量合规用真独享企业,永远不要贪便宜用共享证书,更不要抱着侥幸心理把企业签名应用公开下载,不然吃亏的还是自己。现在很多服务商为了拉客户,低价卖共享签名,甚至鼓励客户公开分发,出了问题就跑路,大家一定要擦亮眼睛,找靠谱的渠道,稳定比什么都重要。