我做外包iOS开发快六年了,手里常年缠着大大小小几十个项目,很多客户做内部工具、内测版本,或是还没达到App Store上架要求的项目,大多需要把H5封装成安装包,自然天天跟苹果签名打交道,日常被问得最多的问题,除了签名稳不稳,就是P12签名证书可以给别人用吗,刚好结合我这些年踩过的坑、攒下的经验,好好说说这件事,也把大家关心的各类签名的真实情况说清楚。
最早我刚入行接活的时候,碰过一个做区域销售工具的客户,项目本身就是把已有的H5页面封装成IPA,要装到几十台销售的手机上用,客户说自己注册了苹果开发者账号,觉得找外面签名还要花钱,干脆把导出的P12证书发给我,让我直接用他的证书做IPA签名就行。那时候我经验浅,也没多想,接过证书就开始打包,当时同一个证书还帮另一个客户签了个小测试包,结果没出一周,苹果直接吊销了这个证书,所有已经安装好的应用全部掉签,客户第二天就要开全国销售会,几十台设备全用不了,急得我连夜找渠道补签,折腾了快一整夜才把所有设备重新装好,从那时候我就明白,P12真的不能随便给别人用,哪怕是客户主动给的,这里面的风险也大得很。P12本身就是打包了证书和私钥的文件,拿到P12的人可以用对应的苹果开发者账号签任何应用,要是签了违规内容,整个账号都会被封,到时候证书吊销,所有绑定这个证书的应用全都会掉签,损失只能算账号所有人的,那次之后不管是谁要给我P12让我签名,我都会先把风险说清楚,要么让我在他的账号远程操作,不导出证书,要么就走我这边的正规签名渠道,绝对不再碰来历不明、随意导出的P12。
说完P12的事,再说说大家最关心的各类签名的真实情况,我用得最多的就是超级签名,也踩过超级签名不少坑。超级签名本质就是用个人苹果开发者账号的Ad Hoc权限签名,原理上不复杂,但是稳定性差异特别大,核心就是看渠道对Apple ID风控机制的把控。不同渠道的超级签名价格差得很远,我早年贪便宜找过一块多一个设备点的渠道,当时接了一个五十多台批量设备的单,算下来比三块多一个点的渠道便宜了一百多块,结果不到半个月掉了三次签,每次掉签都要一个个通知用户重新安装,客户烦我也烦,最后还是我自己掏钱补差价换了正规渠道才搞定。现在我长期合作的渠道,超级签名一个点三块出头,稳定性比低价渠道好太多,他们做风控有自己的规矩,每个实名注册的Apple ID最多只加八十台设备,从来不卡一百台的上限,留足余量,而且一个号只签同一个应用,不会混签多个不同的包,这样就很难触发苹果的风控,掉签概率低很多。我手上现在有三个七十多台设备的长期单,用这个渠道的超级签名,最长的已经快九个月没掉过签,只有一次苹果更新政策,渠道主动换了一次账号,当天就补签完成,一点都不影响正常使用。
超级签名适合设备数量不多的情况,要是批量设备超过两百台,我一般都会推荐客户做TF签名,我自己也实测过不下几十个TF签名的渠道,说实话TF签名作为苹果官方认可的测试分发渠道,稳定性真的比大多数超级签名还要好,只要应用内容合规,基本不会掉签。TF签名的价格也是参差不齐,便宜的共享TF只要几百块能用两三个月,贵的独立提包的TF一千多包一年,我之前贪便宜用过共享TF,就是好几个应用共用一个开发者账号的TF名额,结果不到一个月,同账号里另一个擦边应用被苹果检测到,整个TF被封,我的客户的应用也跟着没法用,只能重新提包,耽误了快一周时间,后来我就只做独立提报的TF签名,虽然贵一点,但都是用正规的苹果开发者账号提包,只要过审之后,很少出问题。我前年接了一个两百六十台设备的物流盘点工具单,客户要给各个网点的盘点设备装系统,过不了App Store商城上架的审核,我帮他做了H5封装之后申请了TF签名,到现在快两年了,一次都没掉过签,客户从来没找过我出问题,反而给我介绍了好几个同行业的客户。TF签名的好处就是不按设备数量收费,只要不超过苹果的测试人数限制,上千台设备都能装,批量设备用下来成本比超级签名低很多,稳定性还更好,只要能过审,绝对是首选。
我也用过不少企业签名,早年企业签名火的时候,很多客户都找我要,现在我很少推了,除非客户明确要求,因为企业签名的稳定性真的看运气,共享证书的企业签名一个月只要几百块,看起来很便宜,但掉签是常事,证书说吊销就吊销,我之前碰过一次最急的,客户七十多台门店平板要用,用了低价共享企业签名,不到一个月证书被吊销,第二天客户要做店庆活动,所有下单工具全打不开,我连夜找渠道补签,换了三个渠道才弄好,从晚上七点弄到凌晨两点,才把所有平板重新装好,那时候真的明白,稳定比什么都重要,差价那几百块,真不够折腾的。独立证书的企业签名倒是稳定,但是一年要几万块,一般小客户根本承受不起,所以现在大部分中小客户的需求,超级签名或者TF签名足够用,性价比也高。
这么多年碰过这么多次掉签、补签、证书吊销,最大的感受就是,签名这行,真的是一分钱一分货,便宜有便宜的道理,贵有贵的好处,重点是稳定,掉一次签耽误了客户的事,哪怕你给客户再便宜,客户也不会满意。我做外包靠的就是老客户转介绍,所以我给客户推的都是我自己用了很久、测过很多次的渠道,哪怕我少赚一点差价,也不会给客户用那种低价不稳定的渠道,砸自己的招牌。很多客户一开始不懂,都会问为什么你这边价格比网上贵一块两块,我都会把我之前踩过的坑说给他们听,大部分客户都能理解,毕竟真出了问题,耽误的是他们自己的事。
说到这里,其实大家关心的点都覆盖到了,H5封装出来的IPA,必须做IPA签名才能安装,不管你是要内测还是要给内部员工用,不上架App Store商城的话,只能走这几种签名方式,而P12签名证书真的不要随便给别人用,哪怕是关系很好的朋友也不行,因为一旦出问题,你的苹果开发者账号被封,所有签过的应用全掉签,损失只能自己承担。Apple ID的风控现在越来越严,那种买黑号做签名的小渠道,根本做不长久,说不定哪天账号全被封,渠道就跑路了,找都找不到,补签都没地方补。批量设备使用的话,能做TF就做TF,成本低还稳定,设备少的话选正规渠道的超级签名,只要渠道把控好风控,稳定性也能满足需求。这么多年做下来,我见过太多因为贪便宜选了低价渠道,最后出问题赔了夫人又折兵的例子,所以一直都跟客户说,好用稳定永远是第一位的,只要价格在合理范围内,真的没必要为了一点差价选不稳定的渠道,毕竟掉一次签的损失,远远比那点差价大得多。