我做独立iOS开发快五年了,大部分做的都是小众工具和客户定制的内部App,能顺利上架AppStore的其实没几个,所以这么多年来,一直跟苹果签名打交道,踩过的坑能绕办公桌三圈,尤其是最近踩的这个低价企业签名的坑,太闹心了,必须说出来给大家提个醒。
上个月刚做完一款手机文件整理的小工具,明知道这类工具过不了AppStore审核,还是抱着试一试的心态提交了,果然,三次都被打回,说我涉及未开放的文件管理功能,没办法只能走内测分发。那段时间手头紧,想着找个性价比高的签名先凑合用,刷论坛的时候看到有人发广告,苹果企业签名一年只要99,不限更新次数,掉签免费补,我当时还动心了,想着九十九块钱,就算不稳撑几个月也够回本了,就付了钱。
现在想想,真的是贪小便宜吃大亏。
P12证书是什么,我刚入行的时候就搞懂了,不管是个人开发者账号还是企业开发者账号,生成证书之后,导出带私钥的文件就是P12,签名的时候就是用P12给未签名的IPA包做重签名,签完才能在iOS设备上安装。正规的独立企业签名,一个证书只会给一个开发者用,P12也只会保存在服务商或者开发者自己手里,不会共用。但是低价套餐不一样,一张299美元的企业证书,他们能拆出几百份P12卖给几百个开发者,所有人共用一个证书,成本摊下来几块钱一个人,卖你九十九一年,人家还赚好几倍。
我当时签完之后,一周掉了三次签。第一次掉签找客服,半天不回,过了十二个小时才给我补好,说正常波动,第二次掉签,客服说我这App有问题,要加50块换个证书,我当时就觉得不对了,不是说掉签免费补吗?客服说你这个是工具类,风险高,要加钱换稳定池,我没办法,已经推了几十个用户了,只能加了钱,结果不到一周,整个证书直接被苹果吊销了,再找客服,人家已经把我拉黑,店铺都找不到了,前前后后花了一百多,一分钱没赚回来,还得罪了快一百个用户,我一个个道歉,折腾了快一周才把所有人转到新的签名链接,那个累啊,只有自己知道。
做了这么久签名,我也摸清楚了现在不同渠道的真实价格,别被那些低价忽悠了,一分钱一分货是真的。超级签名按设备算,正规渠道都是3到8块钱一台,低于2块的百分百是坑,大多是用黑卡注册的账号卖你,用不了半个月就封号。企业签名的话,共享证书的一般一个月80到150,独立不共用的证书,一个月300到600,那些十几块一个月、几十块一年的,不用想,就是陷阱,一张企业开发者账号一年成本都要两千多人民币,怎么可能几十块卖给你用一年?TF签名现在一般是100到300块一次,包上架成功,能用90天,到期续费更新就行,太便宜的肯定是给你弄个外链骗你。AppStore上架的话,你自己有99美元一年的个人开发者账号,自己提交不用额外花钱,找代上架的话,合规的普通App一般1000到5000,那种说几百块包过的,要么是骗钱,要么就是给你整个马甲,没几天就下架。
很多人刚接触签名,搞不懂设备签名原理和UDID绑定,我给你们掰扯掰扯,其实没那么复杂。现在的超级签名,本质就是用个人或者公司开发者账号的Ad Hoc分发权限,苹果给每个个人开发者账号每年最多绑定100台测试设备,你要装App,就得先把你设备的UDID,也就是设备的唯一识别码,加到开发者后台的测试设备列表里,绑定之后,用证书打包签名,你的设备就能识别安装这个App,这就是UDID绑定和设备签名的原理。所以超级签名不会随便掉签,除非绑定的账号被苹果封了,很多低价超级签名就是用被盗的或者黑卡买的开发者账号,封了之后所有绑定的UDID都失效,App直接打不开,找补签都找不到人。
说回证书分发机制,苹果现在的官方分发渠道其实就四类,第一种是AppStore上架正式分发,这个是最稳定的,只要不上架违规内容,审核过了之后一直能用,用户直接下载,不会掉签,缺点就是审核太严,很多工具、内部App、测试版都过不了,我做的一半以上的App都卡在这里。第二种就是TestFlight测试分发,也就是我们常说的TF签名,这个是苹果官方认可的内测分发渠道,只要你的App不是明显违规,基本都能过,上架之后用户直接从TestFlight下载,不会掉签,唯一的限制就是每个TF最多加一万个测试员,对我们这种小独立开发者来说,完全够用了,我现在过不了AppStore的App基本都放TF,两个多月都没掉过一次,比企业签名稳太多了。第三种就是企业内部分发,也就是企业签名,苹果本来是给企业做内部员工用的App分发用的,不需要绑定UDID,只要用户安装后信任企业证书就能用,适合大范围分发,所以很多没法上架的App都用这个,缺点就是苹果查的严,如果证书里有违规App,直接吊销整个证书,所有签名的App都掉签。第四种就是刚才说的Ad Hoc分发,就是超级签名用的,小范围内测用很方便。
我之前给客户做H5封装的App也踩过类似的坑,客户要把本地商家的公众号封装成IPA,做成独立App,因为涉及到线下预约支付,没有资质,没法上架AppStore,我当时图便宜找了个低价企业签名,结果不到半个月掉签,客户的用户都是来消费的,打不开App,客户直接跟我解约,损失了一个长期客户,那点省下来的签名钱,连十分之一的工程款都不够。H5封装出来的IPA本来就是需要签名才能安装,也就是我们说的IPA签名,封装好的未签名包,必须签完名才能分发下载,所以签名的稳定性直接决定了你的App能不能用。
掉签和补签这个事,我真的太有发言权了。正规的签名服务商,掉签之后几个小时内就会给你补签,重新发下载链接,用户重新下载就能用,不会收额外的钱。但是低价套餐的陷阱就在这里,首先他们本来就是共用证书,掉签概率比正规签名高十倍,掉签之后要么不理你,要么就是二次收费,说你的App违规,要加钱换稳定证书,你不加钱,之前付的钱就打水漂,加钱算下来比找正规签名还贵,纯粹就是钓鱼。我上次那个99的套餐,就是这样,掉了三次收了两次钱,最后服务商还是跑了,亏到家。
那什么签名才是稳定好用的?我这么多年总结下来,能上架AppStore肯定优先上架,这是最稳的,不用操心掉签的事,用户体验也最好。过不了AppStore的,优先选TF签名,毕竟是苹果官方的渠道,只要你App不违规,基本不会掉签,价格也不贵,一次一百多能用三个月,对小开发者来说完全承受得起,我现在做的所有新App,过不了审就直接上TF,很少出问题。如果是用户量超过一万,需要大范围分发,那选正规的独立企业签名,一个月几百块,不共用证书,掉签概率低,掉了也能及时补,比低价共享签名稳太多。至于超级签名,一般用来做几十上百人的内测,找正规的按设备算的就行,别买那种一年不限设备的低价套餐,根本不可能。
还有P12证书使用也要注意,很多新手开发者自己申请了企业证书,会把P12随便给服务商,或者贪便宜买低价签名,用服务商的共用P12,这里风险很大,P12带你的证书私钥,一旦被拿去给违规App签名,苹果查到直接吊销你的证书,所有你的App都用不了,损失多大不用说。我现在自己的证书都是自己保管P12,从来不给外人用,签名也是找正规服务商走托管,不会用来路不明的共用P12。
现在我每次碰到刚入行的独立开发者问我签名选什么,我都会跟他们说,别盯着低价看,苹果签名这个行业,没有那么多漏可捡,那些喊着几十块一年无限签的套餐,全都是等着新手往里跳的陷阱,你省了几十几百块的签名费,最后亏了用户、亏了订单,浪费了大把时间,真的得不偿失。我现在打包完IPA,不管是自己开发的工具,还是给客户做的H5封装,永远都是先提交AppStore审核,过了皆大欢喜,过不了就乖乖找正规渠道上TF,实在需要企业签名就找正规服务商买独立证书,再也不会为了省一点钱碰低价套餐了。