我做独立iOS开发快五年,接了不少小项目外包,大半客户都不想上AppStore,要么是赶上线时间,要么是产品不符合上架规则,预算也有限,一提需求就是要做苹果签名,我一开始没当回事,只觉得是打包前走个流程,没想到前两个月连着踩坑,差点砸了自己的口碑。
这段时间接了三个本地生活工具类项目,其中一个客户上来就说要最便宜的企业签名,预算只有一百块,我想着那就找个渠道试试,结果半个月掉了三次签,客户天天发消息催我解决,我连饭都吃不好,才慢慢摸出来这里面的门道。
先说说P12证书使用,我刚入行帮别人打包的时候,根本搞不清P12到底是什么,后来才知道,P12就是把开发者证书和对应的私钥加密打包出来的文件,不管做哪种签名,都要靠P12给IPA做签章。很多新手会搞混开发证书和分发证书,我刚入行的时候就犯过这个错,把开发证书导出成P12拿去签名,结果用户不管怎么装都打不开,折腾了一下午才发现问题出在哪。现在找签名服务商,我一定会问清楚,给的P12是独享还是共享,要是共享P12,再便宜我都不会用——一个P12证书签几百个不同的IPA,只要其中一个APP被举报违规,苹果直接吊销整个证书,所有签过的APP全都会掉签,一死死一片。之前我图便宜,从淘宝买了99块包年的共享签名,拿到的就是共享P12,第三天证书就没了,找商家补签,补完一周又掉,半个月补四次,客户都要跟我解约,最后我赔了五百块违约金才了事,亏到姥姥家。要是你自己有正规企业开发者账号,自己导出P12签名,那才是真的稳定,控制权完全在自己手里,别人动不了,可惜现在苹果申请企业账号太难,绝大多数小开发者根本申请不下来,只能找第三方服务商拿证书。
再说说不同渠道的真实价格,我前后跑了七八个渠道,摸得门清,现在市面上的价格都是按签名类型分的。共享企业签名最便宜,一般一个IPA一个月二三十块,一百块就能包年,看着诱人,实际就是陷阱,掉签掉到你怀疑人生。独享企业签名,证书只给你一个人用,不签其他违规APP,价格一般是三百到五百一个月,做的大的稳的渠道,能卖到八百一个月,贵是贵,但是稳定性差很多。超级签名是按设备数量收费,一般一块钱到三块钱一个设备,一个设备只算一次,新增设备再补钱,适合少量用户内测,要是用户多了,成本比企业签名还高。TF签名就是上架TestFlight的官方签名,价格一般是二百到三百一个季度,一百多一个月,如果你的APP内容有点敏感,过审难度大,服务商收三五千帮你过审也很正常。要是你能自己申请到企业开发者账号,一年只要299美元,合两千多人民币,长期用下来比找第三方划算太多,就是申请门槛太高,绝大部分人拿不到。
说回设备签名原理,现在大家常用的超级签名,本质上用的就是苹果Ad Hoc分发机制,核心就是UDID绑定。苹果规定个人开发者账号,最多只能绑定100台测试设备,所以超级签名就是把用户设备的UDID绑定到开发者账号里,再用对应证书签名,只有绑定了UDID的设备才能安装,所以每加一个新用户,就要绑一个新UDID,一个个人账号最多一百个,所以大部分超级签名服务商都是拼几百上千个个人账号攒名额,这里坑也不少——要是其中某个账号被苹果封了,这个账号绑的所有设备全都会掉签,我之前做过一个八十个用户的超级签名,半个月之后三个账号被封,一半用户用不了,只能重新绑重新下载,用户骂声一片。UDID绑定一般都需要做H5引导页,让用户自己操作获取UDID上传,也就是我们常说的H5封装下载页,很多人会把H5封装和IPA签名混为一谈,其实不是一回事:H5封装是把你的移动端网页套个原生壳,生成IPA安装包,本质上还是IPA文件,生成之后还是要做IPA签名才能安装,绕不开签名这一步,很多做本地公众号、小商家站点的客户,都喜欢用H5封装做APP,成本低,开发快,做完签个名就能用,不用上AppStore,非常灵活。
再讲讲苹果的证书分发机制,苹果本身分好几种分发渠道:第一种就是AppStore上架用的分发证书,只能用来上线AppStore,走苹果审核,用户从AppStore下载,不用额外信任证书;第二种就是企业内部分发证书,也就是我们做企业签名用的证书,苹果本来是给企业做内部员工APP测试用的,允许不经过AppStore分发,所以大家都拿来做外部分发,这种证书签名的IPA,用户安装完之后,必须手动去手机设置里信任企业证书,不然根本打不开,很多小白用户安装完闪退,第一时间来找我,我都要反复发教程,告诉他们去设置-通用-VPN与设备管理找到对应证书点信任,麻烦得很;第三种就是Ad Hoc分发,就是超级签名用的,只能安装绑定了UDID的设备,门槛就是绑定UDID;第四种就是TestFlight分发,也就是TF签名,是苹果官方的测试分发渠道,属于苹果认可的方式,只要你的APP不违规,基本不会掉签,用户也不用手动信任证书,直接通过TestFlight下载就能用,体验好很多。
我这段时间踩过最多的坑就是掉签和补签,掉签的原因无非几种:要么是共享证书,别人的APP违规,全证书连坐;要么是证书分发量太大,苹果检测到不是内部分发,直接吊销;要么就是P12证书被泄露,开发者手动吊销,也会掉。补签这件事,靠谱的渠道都是免费补签,不管掉多少次都免费帮你重新签,不靠谱的小渠道,掉一次收你二三十补签费,一个月掉个十次,补签费都比买独享签名贵。我之前用的一个小渠道,补签一次收三十,一个月补了八次,光补签费就二百四,比我买独享签名差不了几十块,还天天折腾用户,得不偿失。我现在用的稳定渠道,独享企业签承诺每月掉签超过两次全额退款,三个多月只掉过一次,当天上午就补好了,虽然用户还是要重新下载安装,但是总比天天掉好太多。
其实很多人都问我,为什么不直接上架AppStore,非要做签名?不是不想上,是很多客户的情况根本上不了:要么是产品是内测版,功能还没完善,不想上线;要么是产品带点分销、工具类内容,不符合AppStore的审核规则,根本过不了;就算能过,审核要一周到半个月,客户赶活动赶开业,根本等不了,而且上架AppStore还要交688的年费,还要反复修改适配审核要求,小客户预算几千块做个APP,掏不起这个时间精力,所以只能选择做签名分发,都是没办法的事。
我现在接项目,只要产品内容能过TF签名审核,我都优先推荐客户做TF签名,TF是苹果官方的,只要不上传违规内容,基本不会掉签,价格比独享企业签名便宜,用户体验也好,不用信任证书,不用绑UDID,用户自己点链接就能装。上个月我接了一个本地家政公司的项目,一共二百多个阿姨要接单用,一开始客户贪便宜做了八十块一个月的共享企业签,结果活动前一天掉签,所有阿姨都打不开,客户急得跳脚,我连夜换成TF签名,花了二百六十块,半天就过审上线了,到现在两个多月,一次问题都没有,客户特别满意,还给我介绍了两个新单子。TF也有缺点,一个版本只能用90天,到期要重新上传,而且最多只能一万次下载,对用户少的小项目来说完全够用,用户多的话还是得用独享企业签名。
做了这么久,我也摸出来规律了,找签名,永远是稳定优先,别贪那点小便宜,省个两三百块,掉一次签,耽误客户的事,砸自己的招牌,怎么算都不划算。做独立开发本来就是靠口碑吃饭,一个客户不满意,传出去一堆人都不会找你了。昨天还有个刚入行的小兄弟问我哪里找靠谱渠道,我把自己用的推给他,告诉他多试几次,别嫌麻烦,摸清楚规则了,自然就找到适合自己项目的方式了,苹果签名这块水不浅,踩两次坑就什么都懂了。