我做独立iOS开发快六年了,从最早给小商家做定制工具,到现在自己运营几个小产品,苹果签名这块的坑,我几乎踩了个遍。
最早的时候,我总觉得能上架AppStore就一定要上架,毕竟官方渠道最稳定,用户信任度也高。可做了定制单才发现,大半客户的需求根本过不了审。比如本地商家的会员积分工具、带内部营销活动的H5封装包,还有一些针对特定行业的辅助工具,要么碰了苹果的红线,要么不符合上架规范,找代上架花几千块上去,没半个月就被打下来,亏得底掉。没办法,只能转做IPA签名这条路。
刚开始我连P12证书是什么都搞不懂,听人说买个P12就能签名,就在某宝花二十块买了个共享企业P12。那时候连P12证书怎么用都摸不清,问卖家,卖家只发了个五分钟的教程,说把P12导入签名工具,搭配描述文件给IPA包重签名就行。我折腾了半天才弄好,结果不到一周,全掉签了。后来才知道,P12证书就是导出的带私钥的证书文件,不管是开发签名还是发布签名,都需要证书搭配描述文件才能生效,共享P12就是几十上百个APP共用一张企业证书,苹果一检测到非内部分发,直接封证书,不掉签才怪。
也踩过买P12不导出私钥的坑,最早我自己申请了个人开发者账号,想自己导出证书给签名服务商,结果只导出了证书没带私钥,服务商说文件根本用不了,我又重新弄了一遍,折腾了大半天。这里给所有新手提个醒,导出P12的时候一定要勾选私钥选项,证书本身不带私钥就是废文件,而且你的P12千万别随便借给别人,我认识一个开发者,把自己开发者账号的P12借给朋友用,结果朋友拿去签了违规APP,没多久整个账号被苹果封了,里面好几个上架的付费APP全下架,亏了快十万。
说一下我这些年跑了二十多个渠道摸到的真实价格,绝对没有水分。现在IPA签名主要分三类,超级签名、企业签名、TF签名。超级签名按设备数收费,正规渠道一个设备3块到8块,那种一块多一个设备的绝对是坑,我之前拿过一次,签完第三天全掉,服务商直接跑路,钱打水漂。企业签名分三档,共享版一个月50到150,就是一堆APP共用证书,掉签跟吃饭一样勤,三天两头掉是常态;稳定限制版一个月300到600,一张证书只放10个以内的APP,掉签率低很多;独享版就是一证只用你一个,一个月1200到2000,确实稳,但成本太高,我这种接小定制单的开发者根本用不起。TF签名的话,普通不包续期的一年200到300,带TF苹果签名自动续期的一年350到500,那种一百多块包自动续期的别碰,我之前买过,是服务商套的别人的TF名额,不到三个月人家收回名额,所有用户全用不了,说理都没地方说。
很多新手问设备签名到底是什么原理,为什么要要UDID绑定?我也是踩了好多坑才搞懂。苹果给每个开发者账号都开放了测试设备权限,个人开发者一年可以绑定100台测试设备,绑定之后,这些设备就可以安装不上架的测试包,设备的唯一识别码就是UDID。设备签名说白了,就是服务商把几百上千个开发者账号的测试设备名额拼起来,用户安装的时候自动获取UDID,绑定到空闲的名额上,再用P12证书给IPA重签名,用户就能正常安装了。UDID就是苹果用来识别设备的凭证,不绑定的话,苹果根本不允许你的安装包在这台设备上运行。
我之前做超级签名的时候还踩过UDID的坑,无良服务商同一个UDID卸载重装就算两次费用,我一百个设备名额,不到五十个用户就用完了,后来才知道正规渠道都是同一个UDID终身只收一次钱,不管你卸载多少次都不会重复收费,这个一定要提前问清楚。
掉签补签这事儿,我估计所有做过签名的开发者都有一肚子苦水。我刚入行那会贪便宜用共享企业签名,半个月掉了四次,每次掉签两百多个用户全用不了,我一个个发通知,一个个教怎么下载安装,有的用户年纪大不会弄,还要打视频远程教,每次补签都要折腾一两天,觉都睡不好。有一次更离谱,苹果年底封了一大批企业证书,我用的那个证书刚好中招,服务商说证书没了,补签要额外加钱,不然不管,我已经交了一年的钱,最后只能认栽换渠道,还被客户扣了一千块尾款,说影响他业务,那时候真的想过不干了,什么破开发,天天给签名擦屁股。
后来换了稳定版企业签名,掉签次数少了,但是半年还是掉个两三次,每次补签都要重新发包,用户还是要重新装,折腾来折腾去,用户烦我也烦。那时候就在想,有没有能一直稳着,不用天天补签的?后来接触到TF签名才知道,原来还有这么稳的方式。
TF就是苹果官方的TestFlight测试平台,你把封装好的IPA上传到TF,用户通过TestFlight安装,本身就是苹果官方允许的测试分发方式,根本不会轻易掉签,比企业签名稳一百倍。原来普通的TF签名有个问题,就是测试权限只有90天,90天到期之后就要重新上传,重新让用户更新,不然就用不了。而TF苹果签名自动续期,就是服务商到期之前自动帮你重新打包上传,更换测试链接,后台自动完成续期,用户根本感知不到,不需要任何操作,也不用重新下载,真的太省心了。
我现在做H5封装的定制单,基本都是封装完IPA直接做带自动续期的TF签名,不管是商家的营销活动包,还是内部用的工具包,用了快两年,一次掉签都没出过。之前那个餐饮老板,最早用共享企业签名,三个月掉四次,每次都找我重新弄,现在换了自动续期的TF签名,一年多没找过我,说用户从来没说过用不了,省了好多事。
说起来苹果的证书分发机制,其实也就三种,大家摸清楚就不会乱踩坑。第一种就是AppStore上架分发,用发布证书打包,过苹果审核之后上架,官方分发最稳定,但是审核严,门槛高,很多APP根本上不了,每年还要交年费,个人开发者一年也要九十多刀。第二种就是企业内部分发,用企业级P12证书签名,不需要审核就能分发,但是苹果明令禁止企业证书对外公开分发,只要查到就封证书,掉签就是这么来的,补签其实就是换一张新的证书重新给IPA签名,再发新包给用户,本质就是证书被封了只能换。第三种就是测试分发,就是TF签名和超级签名走的通道,本身就是苹果开放给开发者测试用的,属于官方允许的方式,只要你的APP不违规,根本不会被封,稳定性自然高很多。
我之前也折腾过自己搭签名服务器,买了好几个个人开发者账号,想自己做签名省成本,结果不到半年,三个账号被封了两个,苹果查批量签名查的很严,个人自己用都容易被封,索性不折腾了,直接找正规服务商做TF自动续期,省下来的时间多接两个活不好吗?
其实做开发这么久,我也明白了,签名这块真的是一分钱一分货,贪便宜吃大亏,掉一次签损失的不仅是精力,还有客户的信任,搞不好尾款都拿不到,算下来反而亏的更多。现在我接活,只要是不能上架AppStore的,我都给客户推带自动续期的TF签名,一次付费,一年不用管,大家都省心,我也不用天天盯着有没有掉签,不用天天找服务商补签,能多花点时间打磨产品,比什么都强。