我做独立iOS开发快七年,接外包做副业小工具,大半时间都在跟签名较劲。最早想不通,不就是给IPA包盖个章,怎么就能折腾出这么多事。刚入行那年攒了几万用户,算下来一年签名成本就是超级签名几十万RMB,差点把刚起盘的项目拖死,现在想想都头疼。

最早不懂规则,以为只要做出来应用就能上架AppStore。花六百多块买了一年个人开发者账号,提交三次全被打回来,说我的工具涉及第三方功能修改,不符合规范,那时候才知道,不是所有应用都能上应用商店,大部分不能过审的,都得走签名分发这条路。

最先搞懂的就是设备签名原理,苹果iOS闭源,根本不让没经过授权的应用安装,所有能装的包,都得有苹果认可的证书签名,本质就是给系统说,这个应用是我授权过的,可以信任。UDID绑定就是绕不开的一环,每台iOS设备都有一个唯一的识别码,就是UDID,你要让苹果允许这台设备装你的应用,就得把UDID加到开发者后台的测试设备列表里,绑定之后签出来的包,才能正常安装。

那时候超级签名火,就是因为它能自动获取用户UDID,自动绑定,自动给用户生成安装链接,不用用户手动拷贝分享,体验比早年手动加UDID好太多。但坑也在这,一个个人开发者账号,最多只能绑定100台设备,也就是说一个账号最多只能给100个用户装应用,你要是有十万用户,就得攒五百个账号,光账号成本加签名商的服务费,可不就是超级签名几十万RMB一年,真不是吓唬人。

P12证书我最早也踩过坑,P12就是你把开发者后台生成的带私钥的证书导出成的文件,给IPA签名必须用它。我刚入行的时候不懂,把P12随便存在百度网盘,还分享给签名商帮我操作,结果人家偷偷把我账号里剩下的六十多个名额全卖了,我自己要加新用户的时候,提示名额满了,找签名商人家不认,我只能重新买账号,白白损失小一千,那时候小项目本来就没多少钱,心疼了快一周。

后来才知道P12证书使用有多讲究,私钥绝对不能随便给外人,一个P12对应一个账号,别多个包混用,导出的时候一定要记好密码,我之前还出过一次忘密码的事,整个证书废了,不得不重新生成证书,重新签名,害得几百个老用户掉签,又重新通知下载,跑了快一百个用户。现在我的P12全都存在加密移动硬盘里,从来不共享,谁要都不给,吃过亏才长记性。

不同渠道的真实价格,我摸了这么多年也算门清,现在市场上的价格真的差得离谱。先说最常见的共享企业签名,就是很多个开发者共用一个企业账号的证书签名,现在一个月也就100到500块,不限设备不限安装量,看起来很香对不对?我最早就用这个,结果半个月掉三次签,每次掉签所有用户都用不了,要等签名商补签,快的话几小时,慢的话一两天,那时候我做的工具,一次掉签掉两成用户,真的扛不住,共享签名只适合内部测试用,正式上线给用户用绝对是大坑,只要有一个人用这个证书签了违规应用,苹果直接封证书,所有人一起掉签,没人能幸免。

然后是独立企业签名,就是一个企业证书只给你一个应用用,现在价格一般一年一万到三万不等,比共享稳定太多了,但也不能保证百分百不掉,苹果查到企业账号违规分发,还是会封,只是概率低很多,适合不能上TF的应用用。

超级签名我刚才说了,现在一般一个设备一年3到8块,你要是有十万级别的用户,一年下来就是几十万,真的就是超级签名几十万RMB的成本,小开发者根本扛不住,除非你的应用客单价很高,能覆盖掉这个成本。而且超级签名也会掉签,只要你的账号被苹果封了,所有绑定这个账号的用户全都掉签,早年我碰见过一次签名商批量封号,几万用户一天之内全用不了,签名商只给补签,不赔损失,那次我少赚了快一万,欲哭无泪。

TF签名就是现在我用得最多的,也是最稳定的,TF就是苹果官方的TestFlight测试渠道,本质就是苹果允许你把应用放在官方平台给用户测试,走的是官方的信任机制,所以基本不会掉签,只要你不下架应用,用户就能一直用,也不用补签。价格也真的便宜,现在一般上架一个TF应用也就300到800块,有效期一年,重新更新或者上架也就几百块,包一年维护也就一千多,比超级签名一年几十万便宜到姥姥家了。当然TF也不是完美的,用户下载需要多跳一步到TestFlight,有些小白用户不会弄,但是做个引导页放个动图教程,大部分都能搞定,体验其实也差不了多少。

AppStore上架要是能走正规渠道,肯定还是上架最好,用户信任度高,不用管签名的事,个人开发者自己弄就是每年99美元,折合人民币七百多,不贵。要是你的应用不符合规则,找代上架帮忙过审,价格从几千到几万不等,一般过不了都会退大部分钱,但是风险也不小,就算过了,后续也可能被苹果下架,所以不能上架的,我还是推荐走TF。

说到H5封装,现在很多中小商家还有个人开发者做项目,都是把H5网页封装成IPA包,开发快成本低,但是这种包同质化严重,大多不符合上架规则,根本过不了审,所以签名就是刚需。我上个月刚给本地一个生鲜连锁做了一个会员预约的H5封装IPA,老板最早找了个几十块一个月的共享签,不到一周就掉了,几十个门店的店长都用不了,耽误了好几天预售,老板急得找上门,我给他花六百块上了TF,到现在三个多月了,一次都没掉,老板满意得不行,还给我介绍了好几个客户。

证书分发机制其实说穿了也不难,苹果把证书分好几种,开发证书、生产证书,企业账号的证书只能给内部应用签名,不能上架AppStore,个人账号的证书最多绑100台测试设备,超级签名就是把无数个个人账号的100个名额拼起来,给用户做分发,本质就是钻苹果开发者测试规则的空子,所以苹果一收紧政策,就容易批量封号掉签。

补签这个事我真的烦透了,不管是企业签还是超级签,掉签之后都得重新补签,老用户还得重新下载安装,好多用户嫌麻烦,直接就把应用删了,再也不用了,我之前做过一个追剧工具,一次大掉签,直接掉了四千多用户,心疼了快半个月。TF就没有这个问题,只要你不上架应用,用户打开就能用,根本不需要补签,稳定得不行。

我现在做项目,只要不能上架AppStore的,百分之百优先上TF,除非有特殊要求才会用其他方式。当年我就是贪超级签名体验好,不算清楚成本,结果一年下来,赚的钱大半都交了签名费,算下来超级签名几十万RMB的成本,自己只落了个零头,还天天担惊受怕掉签,头发都掉了好多。

后来也见过不少新入行的开发者,跟我当年一样,贪便宜找便宜签名,结果掉签掉得怀疑人生,还有的找了不靠谱的签名商,卷钱跑了,应用全掉了,项目直接死了。签名这个东西,真的是稳定才是第一位的,掉一次签损失的用户,比十年的签名成本都贵,千万不要因小失大。

我自己现在备了十几个个人开发者账号,P12都自己存着,小的签名需求自己就能弄,不用求别人,掉签了自己几分钟就能补好,也不用等,方便多了。刚才给客户弄完H5封装的IPA签名,上传到TF等审核,窗外的玉兰开了,风裹着花香吹进来,喝一口温茶,想想这些年踩过的坑,也就这么一步步走过来了。