我做iOS定制开发快六年了,接了无数私活和企业定制单,大半业务都绕不开iOS签名——毕竟不是所有App都适合或者愿意上架AppStore,大到企业内部的办公系统,小到创业者的内测项目,很多都需要做IPA签名才能让用户正常安装。我接触过的ios企业签名服务商没有一百也有八十,踩过的坑能堆一箩筐,今天就以我自己的经验,聊聊iOS签名里的各个门道。
最早我刚入行的时候,以为IPA签名就是给安装包随便盖个章就能用,后来摸透了苹果的机制才明白,iOS是完全封闭的生态,所有能在设备上正常运行的应用,必须拥有苹果官方认可的合法签名。设备签名的核心逻辑,其实就是苹果给开发者的授权机制:开发者需要把要安装应用的设备UDID,添加到自己开发者账号的授权设备列表里,再生成包含了授权信息的描述文件,打包应用的时候把描述文件一起打包进IPA,这样每一台授权过的设备,就能识别这个签名,正常打开应用,不会出现“未受信任的企业开发者”提示或者闪退打不开的问题。我第一次踩坑就是刚入行的时候,帮一个本地企业做内部考勤系统的H5封装,客户说只有两百多员工用,不想上架AppStore,我那时候不懂,找了个免费的个人签名,结果三天就掉签了,两百多员工全部打不开应用,客户老板直接找到我公司来,好一顿赔礼道歉给了半个月服务费折扣才算了事,从那时候我就知道,签名的稳定性真的是业务生命线。
讲完设备签名逻辑,就得说证书分发的原理,苹果的开发者账号分几种,个人开发者、公司开发者、企业开发者,不同账号出来的证书,分发逻辑完全不一样。个人和公司账号做签名,最多只能绑定100台设备,适合小范围十人以内的内测,而企业开发者账号申请出来的企业证书,天生就不需要绑定设备UDID,只要证书没有被苹果吊销,任何iOS设备都能安装签名后的应用,这也是企业签名能大范围使用的核心原因。现在市面上的IPA签名,大多都是用企业证书做的,还有一种就是大家常听到的TF签名,TF签名本质是借助苹果官方的TestFlight内测渠道分发,把应用上架到TestFlight,用户通过TestFlight下载安装,也是苹果官方认可的方式,而H5封装出来的IPA,因为大多是不符合AppStore上架规则或者不需要公开上架,所以基本都要走这两种签名渠道。我做过的H5封装单里,九成都是用企业签名或者TF签名,很少有往AppStore上架的,毕竟AppStore审核严,每年还要交688的年费,还要不停应付苹果的审核规则变更,对很多只给内部使用的应用来说完全没必要。
这里就不得不提苹果的Apple ID风控机制了,这也是影响签名稳定性最核心的因素之一。苹果现在的风控机制比前几年严太多了,只要检测到你的Apple ID或者开发者账号有异常,比如批量注册、盗抢来源、绑定信息异常、旗下应用违规,直接就会封号吊销证书,根本不给你申诉的机会。我之前图便宜,找过一个99块钱包年的共享企业签名,那时候觉得太划算了,结果签完不到一周,苹果直接把整个证书封了,三百多用户全部闪退打不开,我后来才知道,那个服务商用的是黑号,就是盗来的别人的企业开发者账号,而且一个证书上挂了上百个App,里面还有好几个违规的棋牌App,苹果一封号,全证书的App都遭殃,我那时候花了整整两天才给所有用户重新安装好,差点丢了这个合作了两年的长期客户。那时候我才明白,为什么正规的ios企业签名服务商不会用黑号,因为现在苹果的风控真的太灵敏了,来路不明的账号根本撑不了多久。
说到这里,就得说大家最关心的独享证书和共享证书的区别了,这也是市场上价格差巨大的核心原因。共享证书,就是很多小服务商把一个企业证书,分给几十个甚至上百个开发者共用,大家的App都签在同一个证书上,这样成本摊下来很低,所以售价也便宜,几十块钱一个月就能做,但是缺点太明显了:只要其中有一个App违规,被苹果检测到吊销证书,所有签在这个证书上的App都会跟着掉签,相当于你平白无故被别人连累,根本没有任何稳定性可言。而独享证书,就是一个证书只给一个客户或者少数几个合规的App用,不会随便接违规App,也不会让无关的App共用证书,从根源上避免了被连累掉签的风险,当然申请和维护证书的成本更高,价格也就更贵。我现在合作的正规服务商,他们的独享证书一个最多只挂三个合规App,而且都是用正规渠道申请的企业开发者账号,主体信息齐全,不会是黑号,所以被苹果风控吊销的概率低很多。
为了摸清楚不同签名的真实稳定性,我去年专门做过一次为期三个月的稳定性实测,三个完全一样的H5封装IPA,分别用共享企业签名、独享企业签名、TF签名,全程记录掉签情况和用户体验:第一个共享签名,是我找的某第三方平台99块钱三个月的共享签名,上线第六天就第一次掉签,联系服务商补签花了整整一天时间才处理完,补完之后第八天又掉了,三个月下来一共掉了11次,平均不到八天就掉一次,最后一次掉签之后服务商直接失联了,我只能自己花钱重新找渠道签名,这个体验真的太差了。第二个是独享企业签名,就是我现在常合作的这家ios企业签名服务商的独享证书,三个月下来只掉了一次,还是因为我当时更新版本的时候不小心加了客户要求的违规外链,苹果检测到触发了风控,我删掉违规内容重新提交之后,服务商当天就给我补签完成,之后两个多月一直稳定运行,没有出现过闪退掉签的情况,用户打开也很顺畅,直接扫码安装就能用,不需要跳转任何第三方渠道,体验非常好。第三个就是TF签名,TF签名我找的是市场上常规的500块三个月的渠道,稳定性确实还可以,三个月没有掉签,但是问题也很明显:首先用户下载步骤太麻烦,要先搜索下载TestFlight,再打开链接跳转进去安装我的App,我统计了一下,至少有两成新用户因为嫌麻烦放弃安装,对业务推广影响很大;其次就是名额限制,一个TF链接最多只能有一万个下载名额,如果用户规模超过这个数根本不够用,而且现在苹果对TF审核越来越严,我这个普通的H5封装App改了三次才过审,花了快一周时间,要是客户急着上线根本等不了。算下来,要是长期稳定使用,独享企业签名的体验是最好的,稳定性不输TF,用户体验比TF好太多,价格长期算下来也更划算。
聊完稳定性,再说说我对不同渠道的价格感受,我接触这么多服务商,价格真的是参差不齐,共享签名一般就是30到100块一个月,看着非常便宜,但是稳定性太差,只适合那种临时用个三五天的内部测试项目,长期给用户用真的不行;独享签名一般就是300到1500一个月,价格差主要看证书的类型和应用的合规性,正规服务商的独享签名虽然贵,但是胜在稳定,我算了一笔账,要是一个App有三百个活跃用户,掉签一次,光是给用户重新发安装包、指导安装就要花我一两天时间,还得罪客户,一次掉签的损失远远比一年的独享签名费贵,我之前刚入行的时候贪便宜,一年因为掉签丢了三个客户,损失了十几万的订单,后来换成独享签名之后,几乎没出过什么大问题,老客户给我介绍的新客户越来越多,赚的钱远远比签名费多得多。而TF签名一般就是200到800块一个应用,有效期三个月,算下来一年也要大几千,比多数独享签名还贵,还有名额和步骤的限制,适合那种用户不多,短期内测的项目,长期用不划算。AppStore虽然是最稳定的官方渠道,但是审核太严,很多应用根本过不了审,而且对很多不需要公开下载的企业应用来说,完全没必要花那个精力和成本,做IPA签名反而更省心。
除了掉签,我还遇到过很多其他坑,比如很多小服务商签名的时候会偷偷给IPA插广告,我之前就遇到过,签完名的App打开就弹低俗推广广告,客户问我怎么回事,我反编译查了半天才发现是服务商签名的时候加了插屏广告,赚那点广告费,毁了客户的体验也毁了我的名声,还有的服务商给你用共享证书收你独享证书的钱,坑一个是一个,所以选对靠谱的ios企业签名服务商真的太重要了,我现在选服务商,首先看是不是正规做了好几年的,其次有没有稳定的售后,掉签能不能及时补,会不会私自插广告,这些都比价格重要。
这么多年研究iOS签名机制,我最大的感受就是,签名这行真的是一分钱一分货,稳定才是硬道理,不管是做IPA签名还是H5封装,选对正规的服务商,选适合自己业务的证书类型,比什么都重要,千万不要贪便宜吃大亏,选对了稳定的渠道,能省很多心,也能保住自己的业务口碑。