作为做了快六年的独立iOS开发者,我大部分精力都在做小工具类产品,大半时间都在跟苹果签名打交道,踩过的坑能堆一箩筐,今天就随便聊聊这些事儿。
刚入行的时候我根本搞不懂,苹果签名证书和开发者账号到底是什么关系,以为买个证书就能用一辈子,结果第一个内测包就掉签掉的我怀疑人生。那时候穷,舍不得每年掏大几百买个人开发者账号,跟三个网友拼号,共享P12证书,当时觉得捡了大便宜,平摊下来一年才不到两百块。P12证书我还是第一次用,那时候连怎么导出都搞不懂,折腾了整整一天才弄明白,原来导P12的时候必须把私钥一起导出来,不然导出的文件根本没用,打包的时候一直报错,我那时候对着电脑抓了一下午头发,最后还是在论坛蹲到大佬指点才搞懂。
后来用了不到两个月,就出事儿了。跟我拼号的那个网友,拿我们共享的P12给一个博彩APP签了名,没半个月苹果就吊销了证书封了账号,我当时正在推内测,两百多个种子用户刚装上,一天之内全部打不开,找我退款的骂我的,消息炸了我整个微信,那阵子我连觉都睡不好,好不容易攒的初始用户跑了一半,从那之后我再也不跟别人共享P12,自己的证书自己存在云盘加密,绝对不外放,这是血的教训。
说说现在市面上不同渠道苹果签名的真实价格吧,很多新手入行根本不知道水有多深,我整理了我这么多年接触到的实价,大家可以参考。首先官方的开发者账号,个人账号官方定价就是99美元一年,换算成人民币大概七百多,找靠谱代买的话一般八百到九百,那些卖一百多两百多的个人账号基本都是黑号,弄不好半个月就被封,别碰。企业开发者账号官方是299美元一年,现在苹果卡的太严,自己申请基本下不来,市面上租证书的话,共享企业签一般一个月三十到一百五十块,独立企业签就是整个证书只给你一个人用,一个月三百到八百,要是买整个企业账号,现在炒到十万到十五万,咱们小开发者根本没必要。超级签是按设备算钱,一般一块五到十五块钱一台设备一年,量越大越便宜,千台以上基本能谈到三块到五块一台。TF签名一般一百到五百块钱上架一次,包全年稳定的也就八百到一千五,那些说九块钱终身签名,几十块钱包月稳定不掉的,基本都是骗子,要么收了钱拉黑,要么两三天就掉签,找补签还要再加钱,我就被骗过八十块,现在想起来还气。
很多人问我设备签名到底是什么原理,其实说穿了很简单,核心就是UDID绑定。苹果的开发者体系里,允许开发者给添加了UDID的设备安装测试应用,UDID就是你苹果设备的唯一识别码,相当于给设备发了一个通行证,把你的UDID绑定到开发者账号的测试设备列表里,苹果就承认这个设备可以安装对应的APP,这就是设备签名的核心原理。我最早给朋友测包的时候,还要让朋友去Safari打开查询UDID的网页,复制完发给我,我再手动粘贴到开发者后台,然后重新导出描述文件重新打包,折腾一次大半天,现在有工具了,自动获取UDID自动绑定,用户点一下安装就能搞定,方便太多了。
说到证书分发机制,苹果本身就分好几种,咱们一个个说。最稳的当然是AppStore上架,用你自己账号申请的证书打包上传,苹果审核过了之后全平台用户都能下载,不需要绑定UDID,也不会掉签,只要你不违规下架,一直能用,能走这条路当然最好,我现在做的三个符合规范的工具都上架AppStore了,一年多根本不用管签名的事儿,用户更新下载都方便,省了太多心。但是很多工具真的上不了,比如去广告、录屏、一些灰色地带的小工具,苹果审核根本过不了,我之前花两千多找代上架,三次都被拒,最后只能放弃走签名。
第二种就是AdHoc分发,也就是我们常说的超级签的原型,本来就是给开发者内部测试用的,一个个人账号最多绑一百台设备,后来大家把多个个人账号的名额凑起来,就变成了给外部用户用的超级签,原理还是UDID绑定,只要账号不封证书不吊销,就不会掉。第三种就是企业开发者的In-House分发,也就是我们说的企业签,这个不需要绑定UDID,任意设备都能安装,本来是给企业内部员工用的,结果被拿来做外部分发,现在苹果查的特别严,只要证书下有一个违规APP,整个证书都会被吊销,所以掉签率特别高。
我做了这么久,试过各种签名,最稳定的其实还是TF签名,也就是TestFlight签名,这个本身就是苹果官方的测试渠道,本质是你把IPA上传到TestFlight,用户从官方渠道下载,根本不会存在掉签的问题,除非你APP违规被苹果下架,不然一直能用,唯一的限制就是一个链接九十天到期,到期了重新上传一次就行,也不麻烦,我有一个去广告的工具放TF快一年了,就续过两次,从来没出过问题,用户用着也稳定,我也不用天天盯着掉签补签,价格也不贵,我找的渠道三百块钱上架一次,真的比什么都香。唯一的限制就是一个TF最多绑一万个设备,对咱们独立开发者来说完全够用,除非你做十万级用户的产品,不然根本不用愁。
我之前也用过共享企业签,真的坑到骨子里,半个月掉三次,每次掉签都要找商家补签,商家有时候拖半天,用户安装还要卸载重新装,好多用户嫌麻烦直接不用了,我那段时间天天处理用户投诉,头都大了。去年年底苹果大规模吊销企业证书,我那时候用的共享签一天掉三次,补了三次最后商家说证书没了,要等三天,那三天我损失了快一百个活跃用户,连夜找渠道转TF,折腾了整整一天才搞定,从那之后我再也不用共享企业签,要么用TF,要么加钱上独立企业签,整个证书只有我一个人用,不会因为别人的违规APP连累我掉签,我现在用的独立企业签一个月五百块,三个多月只掉过一次,还是苹果抽风查证书,商家十分钟就给补签好了,贵是贵了点,但是买个安心太值了。
前两个月帮本地一个商家做展示APP,他就是想要个APP放应用商店,内容就是他的商家展示和预约,我嫌开发原生麻烦,直接把他的H5网页做了H5封装,生成IPA之后签了TF,总共收了他三千块,去掉三百块签名成本,赚了两千多,用户安装之后跟原生APP没区别,商家也特别满意。其实H5封装的IPA,签名跟原生APP没任何区别,只要证书没问题,就能正常安装使用,普通用户根本感觉不出来,对这种小需求来说真的太方便了。
其实说了这么多,核心就是苹果签名证书本身就是开发者账号的产物,一个开发者账号可以申请多个证书,账号的状态直接决定了证书的有效性,账号被封证书就会失效,所有签了这个证书的IPA签名都会掉,这就是两者最核心的关系。很多新手搞不懂,花大价钱买所谓的永久证书,根本就没有这种东西,只要对应的账号出问题,证书说废就废。
我现在做产品也佛系了,能上架AppStore就上架,不能上架就优先选TF,用户量上去了再换独立企业签,从来不贪便宜用那种几十块的共享签,稳永远是第一位的。毕竟我们做小产品,攒个用户不容易,因为掉签丢用户太亏了,与其天天盯着补签处理投诉,不如多花点钱买稳定,省出来的时间多打磨打磨产品,比什么都强。