我做独立iOS开发快六年,大半时间都在跟各种小工具、小范围使用的圈内应用打交道,很多产品本身就是给特定用户做的,不需要冲AppStore冲量,所以长期跟H5封装、签名打交道,踩过的坑摞起来能比我电脑还高,今天就掏心窝子说说真实的经验。
做H5封装的都知道,封装完出来就是IPA包,想要让用户能正常装到iPhone上,绕不开签名这一步,我刚入行那会,连P12证书是什么都搞不懂,找别人代签花了好多冤枉钱。最早我以为P12就是个随便导的文件,导出来就能用,第一次自己生成开发者证书,导出P12的时候没勾选私钥,折腾了整整一天,签出来的IPA永远装不上,问了圈内老开发者才骂我笨,P12本身是把证书和私钥打包在一起的文件,用来给IPA做签名校验,没有私钥的P12就是个废文件,苹果根本不认。后来我用熟了才知道,同一个P12不能随便借给别人用,更不能放在多个渠道批量签名,我之前有个用了十个月的个人P12,就是借给朋友帮他签几个测试包,他拿去一天签了快一百个IPA,直接触发苹果的异常检测,证书当场被吊销,我手里几十个老用户的包全掉签,那一周天天被用户追着要补签,头都大了一圈,从那之后我自己在用的P12,备份了三四份存在不同云盘,打死不随便外借。
很多刚入门的朋友总问我,现在市面上各种签名真实价格到底是多少,会不会被坑,我把这么多年找渠道的真实价格说出来,大家自己对照。首先是UDID个人签名,就是用个人开发者账号的100个设备名额来做的,苹果个人开发者年费一年688,摊下来一个设备一年成本也就六七块,所以外面合理的价格一般是一个设备一年10到30块,我找过圈内个人放闲置名额的,最低拿到过8块一年一个设备,也见过有人卖到50块一个,纯粹是炒价格,没必要碰。然后是企业签名,分共享证书和独立证书,共享证书就是一堆人共用一个企业证书,现在我拿到的稳定渠道价格是35块一个月,包免费补签,季度是80,一年180,那些十几块一个月的共享签我也用过,三天两头掉签,补签要等大半天,经常渠道直接跑路,一分钱一分货是真的。独立企业证书就是一证只用你自己的包,现在稳定的渠道一般一个月300到600不等,毕竟现在苹果企业开发者账号难申请,现成的账号炒到十万多,一年摊下来每个月大几百是合理成本,要是有人跟你说独立签一百多一个月,百分百是共享冒充的,别信。然后是TF签名,就是TestFlight的官方签名,现在一般是按次收费,我长期合作的渠道是150块一次,包上架成功,不成功退款,有效期90天,便宜的七八十也有,但是很多是脚本自动上架,容易被苹果封号下架,贵一点的两百多三百一次也有,看你对稳定性的要求,我觉得一百多的就够用。至于正经的AppStore上架服务,不同类型的应用差价很大,普通工具类一般几千块,带点敏感功能的几万也正常,我之前一个小众记账工具上架,花了八千块一次过,现在还在架上,每个月还有点被动收入,也见过朋友花了两万没审过的,水确实深。
很多小白不懂为什么要搞UDID绑定,设备签名到底是什么原理,其实说穿了很简单。苹果本身给开发者开放了测试权限,个人开发者账号最多可以绑定100台设备的UDID,也就是设备的唯一识别码,做设备签名的时候,会把你绑定好的UDID写到描述文件里,再用P12证书给IPA签名,这样只有绑定了UDID的设备才能成功安装,整个机制都是苹果官方允许的,所以只要证书不违规,基本不会随便掉签,比很多民间签名稳定多了。我最早自己做小圈子工具的时候,就是自己买个人账号,自己绑UDID自己签名,一百个名额用完再换账号,稳得不行,唯一的麻烦就是每来一个新用户,都要帮他绑UDID重签,不过用户少的时候也不算什么。我也在这里踩过坑,之前把一个不用的个人账号出给新手,忘记把我自己在用的测试设备移出来,对方拿到账号直接清空了所有名额,我当天要给客户做演示,打开app直接掉签,当场尴尬到脚抠出三室一厅,从那之后每次出账号移名额,我都要核对三遍。
苹果的证书分发机制其实就那么几种,说清楚了大家就不会乱。第一种就是AppStore上架分发,这是最正规的,所有用户都能直接下载,不需要点信任证书,也不会随便掉签,只要你的应用符合苹果规则,能上肯定优先上,但是现在审核越来越严,很多小众工具、内部应用、内测版本根本过不了审,所以才会用其他方式。第二种是企业开发者分发,就是用299美元一年的企业账号证书签名,苹果本来是给企业做内部员工应用分发用的,大家拿来给外部用户用,本身就是打规则擦边球,所以容易被苹果检测吊销,也就是大家说的掉签。第三种就是TF签名,也就是TestFlight公测分发,这也是苹果官方的,本来是给开发者做公测用的,审核比AppStore松太多,只要不是明显违规的都能过,稳定性也高,基本不会掉签,现在是很多内测应用、长期H5封装应用的首选。第四种就是我刚才说的个人UDID分发,适合小范围几十个人用,成本低,稳定性高。
我用了这么多签名,说句实在话,长期做H5封装用,最稳定好用的还是TF签名,我有一个给摄影圈做的调色参考工具,放在TF快三年了,除了90天到期更新一次,从来没掉过签,用户从来没找过来投诉用不了,比之前用共享企业签省心一百倍。之前贪便宜用15块一个月的共享签,赶上苹果严查证书,一天掉三四次都是常事,我早上起来打开微信,十几条消息全是找我补签的,刚爬起来重新签完发完链接,又掉了,用户骂我不靠谱,我自己也窝火,真的是贪小便宜吃大亏。后来换了35一个月的稳定共享签,掉签次数少多了,一个月掉个一两次,补签也快,五分钟就能弄好,但还是不如TF省心。
如果你的用户不多,就几十个人的小团队、小圈子用,那我推荐你自己整个个人开发者账号,自己绑UDID,自己做IPA签名,一年才688,成本最低,也最稳,只要你不要随便外借P12,不要批量签几百个包,基本不会出问题。我现在自己用的几个内部测试包就是这么弄的,用了两三年了,掉签次数屈指可数,掉了也是自己补,分分钟就能弄好。
很多人找免费IPA签名,我真的劝你别碰,我见过太多朋友找免费渠道签名,结果渠道给IPA包加了暗扣广告,甚至插了盗号木马,用户装了之后被扣话费、丢账号,最后找你算账,亏都亏死,免费的才是最贵的,这句话在签名圈真的是真理。
至于AppStore上架,能上真的尽量上,我两个小工具上架之后,不用天天处理补签掉签,用户下载也方便,还能开内购赚点钱,真的比放在外面签名舒服太多,但是如果你的应用确实不符合规则,也没必要硬砸钱,选个稳定的签名方式,够用就好。
我做这么久独立开发,遇到过各种各样的掉签情况,其实掉签也不是什么天大的事,企业签掉了找渠道补签就行,正规渠道都是免费补的,TF掉了要么是到期了,要么是被下架了,改改包名换个证书重新上就行,个人UDID掉了,重新生成个证书重绑一下就好,只要渠道靠谱,都不是什么大问题。
现在很多做H5封装的工作室,就是因为选不对签名渠道,天天处理客诉,客户留不住,其实选对了渠道,把签名这块理顺了,剩下的就是专心做好产品就行,不用天天为签名的事操心。我现在做长期H5封装的项目,基本都是优先推TF,用户用着舒服,我也省心,偶尔小范围的项目用个人UDID,成本低也稳定,企业签一般只用来做临时内测,很少长期用了。这么多年踩坑踩过来,慢慢也就摸透了苹果签名的规则,其实只要不贪便宜,找对适合自己的方式,根本没那么多烦心事。