我做独立iOS开发快六年,接了不下一百个私活,大半客户都因为各种原因没法上架AppStore,绕来绕去都绕不开签名这事,最早听到ios企业签名免费测试,我还以为捡了大便宜,结果踩了一肚子坑,今天把这些年的经验都捋出来,给刚入行的朋友提个醒。
最早我自己弄苹果开发者账号,那时候连P12证书是什么都搞不懂,更别说怎么用了。折腾了一天才弄明白,P12就是把苹果颁发给你的开发者证书和私钥打包成的文件,给IPA签名全靠它。第一次导出P12的时候,我忘了勾选导出私钥,签出来的IPA包,用户装到手机上根本打不开,提示未受信任的开发者,我折腾了半宿才找到问题,重新导出才搞定。后来用多了才总结出经验,导出P12一定要设强密码,不能随便泄露给不正规的服务商,之前有个客户把自己企业账号的P12随便给了小作坊,结果对方用他的证书签了违规APP,最后苹果直接封了整个证书,客户重新申请花了三个多月,耽误了大事。
说到不同渠道的真实价格,我这些年摸得门清,市场上透明度其实很低,坑就坑在很多人拿共享签当独立签卖。目前市面上最常见的几种签名,价格我给大家说句实话:共享企业签名,就是几百个APP挤同一个P12证书,一般都会做ios企业签名免费测试,免费让你用两三天,包月也就三十到一百块,看起来很便宜,实则稳定性极差;独立企业签名,就是一个P12证书只放你一个APP,不牵连,包月一般在两百到八百块,看APP类型,违规风险高的会更贵;超级签名是按设备收费,绑定UDID的那种,一般一个设备两块到八块钱,包一年;TF签名也就是TestFlight签名,一次签名有效期九十天,价格大概六十到两百块,按安装次数算的话也有一块钱一个安装的,整体不算贵。
很多刚接触签名的朋友搞不懂设备签名原理,其实说穿了很简单。iOS系统本身要求所有安装的APP必须经过苹果授权的签名,没有签名的APP系统直接拦着,不让打开。签名本质就是用苹果给开发者发的合法证书,给你的IPA包做个认证,让系统认可这个APP是合法的。
那UDID绑定是怎么回事?这个在超级签名和Ad Hoc分发里最常见。每台iOS设备都有一个独一无二的识别码,就是UDID,苹果规定个人开发者账号最多只能给一百台绑定了UDID的设备分发APP,超级签名就是把用户设备的UDID提前加到开发者账号的设备列表里,绑定之后,只有这台设备能安装签名后的APP,一个UDID占一个名额,所以超级签名才会按设备收费。之前我做超级签名的时候,很多用户不会查UDID,我还要一步一步教,后来有了自动获取UDID的H5页面,才省了不少事,说到H5封装,现在很多客户都需要这个,就是把网页套一个原生APP的壳,生成IPA包之后再签名,用户可以直接把APP放到手机桌面,不用存书签,转化率高很多,很多本地商家的自用APP、引流APP都这么做,不想上架AppStore,花点钱做个签名就能用,成本很低。
再说说苹果的证书分发机制,其实一共就几种正规路径。第一种就是AppStore上架,你把签好名的IPA包上传给苹果,审核通过之后用户直接从AppStore下载,这是最稳定的,只要苹果不下架你的APP,永远不会掉签,用户信任度也最高。但问题就是苹果审核太严了,很多APP根本过不了,比如企业内部用的OA工具、没有资质的本地生活APP,还有一些灰色项目,根本碰都别想碰,所以才会有那么多人走第三方签名的路子。第二种就是企业级分发,用299刀一年的企业开发者证书签名,不用上架,直接给用户发安装链接,用户点了就能装,自由度最高,但也是最容易掉签的。第三种就是Ad Hoc分发,也就是我们说的超级签名用的分发方式,绑定UDID,只给绑定过的设备安装。第四种就是TF签名,也就是TestFlight分发,这是苹果官方认可的内测分发渠道,相当于苹果允许你把未上架的APP放到TestFlight给用户下载,合规性很高,稳定性也强。
说到掉签补签,我这几年遇到的糟心事可太多了。最早贪便宜,看到ios企业签名免费测试,试了两天没问题,就花八十块钱包了月的共享签,给一个本地做活动的客户用,结果第三天凌晨就掉签了,客户那边几十个人都打不开APP,活动马上开始,急得客户给我打了十几个电话,我找服务商补签,服务商说共享签掉签是常态,补完第三天又掉了,一周掉了四次,最后客户忍不了要退款,我不仅没赚到钱,还倒贴了打车钱去给客户道歉,从那以后我就认准一个理:稳定好用比什么都重要,便宜没好货真不是瞎说。
掉签其实无非就是几个原因,大部分都是证书被苹果封了,共享签几百个APP挤一个证书,只要有一个APP违规被苹果查到,整个证书就废了,所有APP都得掉签。独立证书就不一样,一个证书只放你一个APP,只要你的内容不违规,基本很少掉,就算掉了补签也快,正规服务商一般都是24小时内就能补好,重新签一遍,用户重新安装就能用,要是做了链式更新,用户打开APP就能更,不用重新找链接。
我现在给客户推签名,只要能做TF签名的,我都劝客户做TF。TF是苹果官方的,只要你内容不违规,基本不会掉签,用户安装也方便,点链接跳转到TestFlight就能下,不用像企业签名那样还要去设置里信任开发者证书,很多年纪大的用户根本不会弄,TF就没这个问题。之前我给那个本地生鲜配送的老板做H5封装,生成IPA之后做了TF签名,才花了一百二十块,用了三个多月了,一点问题都没有,老板满意得很,说比之前找别人做的共享签好用一百倍。
很多人分不清IPA签名和各种签名的关系,其实不管是企业签名、超级签名还是TF签名,本质上都是给未上架的IPA包做IPA签名,让iOS系统认可这个APP,H5封装出来的IPA本身是不带有效签名的,所以必须做这一步才能安装。我经常遇到客户自己用免费工具做了H5封装,导出IPA之后装不上,找过来一看,要么是签名证书过期,要么是P12导出错误,重新做一遍签名就好了。
说来说去,能上架AppStore的我还是劝大家尽量上架,上架之后不用操心掉签的事,用户搜得到,信任度也高,推广也方便。但确实很多APP没法上架,比如不对外公开的内部工具,比如没有相关资质的垂直类APP,那选签名就要擦亮眼睛,别冲着免费测试就一下子付一年的钱,很多小作坊收了年付,不到半个月跑路,联系都找不到人。我上个月就遇到一个客户,找不知名的渠道做了年付企业签名,一千多块,不到两周掉签,服务商直接拉黑了,只能过来找我重新做,白白损失了一千多。
这么多年做下来,我早就不贪便宜了,找稳定的老服务商,按月付费,掉签能及时补,就算出问题损失也不大,免费测试可以试,试试稳定性再付款也不迟,毕竟做开发,口碑比什么都重要,用户用得好,才会给你介绍新客户,要是天天跟着掉签擦屁股,赚那点钱还不够生气的。