我玩iOS签名机制快六年了,从最早帮朋友做企业内测包,到后来给中小开发者做IPA签名和H5封装服务,前前后后踩过的坑没有一百也有八十,见过太多人因为贪便宜被骗,耽误了项目进度甚至损失大几千,今天就以我自己的经验,整理这篇超级签名防骗攻略,把设备签名逻辑、证书分发原理这些底层逻辑讲清楚,帮大家避开坑。
首先很多刚接触iOS签名的新手都搞不懂,为什么需要做IPA签名?其实很简单,我们做iOS开发,只要应用没法上架AppStore,不管是内测阶段的应用,还是不符合AppStore审核规则的行业应用,比如企业内部办公应用、医美类引流应用、H5封装的本地服务工具,都需要给IPA包做签名,iOS系统才会允许用户不越狱直接安装。而超级签名是目前中小开发者用得最多的签名方式,那它的设备签名逻辑到底是什么?其实核心逻辑很简单:苹果给每年99美元的个人开发者账号开放了测试权限,每个账号最多可以绑定100台用户设备的UDID,只要把用户设备的UDID添加到开发者账号的设备列表里,再用这个账号对应的开发证书给IPA包重签名,生成带描述文件的安装包,用户点击安装之后,iOS系统验证通过,就可以正常打开使用,这就是整个设备签名的核心逻辑。
那证书分发原理又是什么?很多人只知道签名需要证书,不知道证书到底起什么作用。苹果的证书是和开发者账号绑定的,不同类型的账号对应不同权限的证书,超级签名用的是个人开发者账号的开发证书,证书里写入了你允许安装的设备UDID信息,分发的时候,我们会移除原始IPA包的旧签名,再用我们的证书重新给包签名,嵌入对应描述文件,用户下载之后,系统会向苹果服务器验证证书和描述文件的有效性,验证通过就能正常运行。
说到这里就不得不说大家最关心的独享证书和共享证书的区别,这也是骗子最喜欢做手脚的地方。独享证书就是整个证书只对应你一个人的应用,100台设备的配额全部给你用,不会给别的客户加设备,而共享证书就是一个证书卖给十几个甚至几十个客户,大家共用100台的配额,商家为了多赚钱,往往会超量添加两三百台设备,改参数蒙混过关,这种情况不掉签才怪。我就踩过假独享的坑,三年前我给一个客户做H5封装的接单app,商家说给我做独享,三块钱一台设备,我付了钱之后,加了50台测试设备,过了一周我登录后台看,居然多了27个不是我添加的设备,找商家对质,商家还说这是系统缓存,后来没两天证书就掉了,商家直接拉黑了我,这就是典型的把共享证书当独享卖的骗局。
接下来就是Apple ID风控,这是影响超级签名稳定性最核心的因素,我研究了这么久,发现苹果的风控不是只看设备数量,很多行为都会触发风控:比如用接码平台批量注册的Apple ID,同一IP段批量登录几十个账号,短时间内一个账号批量添加几十台设备,签名的应用是违规应用,包名和AppStore上的正规应用重名,这些都会让苹果把账号标记为高危,不出一周就会封号,封号之后证书直接失效,所有签过的应用全部掉签打不开。我之前贪便宜拿过一批一块钱一台的共享签名,商家用的都是黑卡注册的Apple ID,刚签名完不到五天,整个账号被封,两百多台设备全用不了,客户那边五十多个商家等着接单,直接停了两天业务,最后我不得不自己掏钱给客户换了正规独享,赔了不少时间和精力。
我去年专门做过一次不同证书的稳定性实测,找了四个不同渠道的证书,每个证书放100台测试设备,连续跑了30天,结果很说明问题:第一个是淘宝买的五块钱不限设备的共享证书,第12天就掉了76台,到30天的时候100台全掉了,商家早就关店找不到人;第二个是外面渠道一块二一台的共享证书,30天掉了41台,补签还要收每台五毛钱,算下来成本比独享还高;第三个是用黑号做的假独享,30天掉了28台,动不动就触发风控;第四个是正规养号的独享证书,每个账号只加90台设备留余量,每天加设备不超过15台,30天只掉了2台,还是因为其中一台设备抹除了数据,UDID信息变了,商家五分钟就给补签好了,完全不影响使用。从这次实测之后,我就只给客户推正规独享证书,真的差太多了。
再说说不同渠道的价格感受,我这么多年换了不下12个签名渠道,价格从几毛钱一台到五六块钱一台都用过,最深的感受就是一分钱一分货。现在市面上的价格大概是这样:共享签名一般是一块到两块钱一台,很多低价的八九毛一台,都是超量共享,用不了半个月肯定掉;独享签名一般是三块到五块钱一台,也有按年卖的,三百到五百块一年一百台,合下来三块左右一台,是性价比最高的。那种低于一块钱一台的独享,百分百是假的,不用想肯定是共享冒充的。我见过有人被骗八千块,商家说给你终身独享永不掉签,收了八千块不到两个月,证书掉了商家直接卷钱跑了,连人都找不到。
这里必须提一下大家常问的几个其他签名方式,很多人问TF签名和超级签名哪个好,TF签名其实是苹果官方TestFlight内测渠道的签名,稳定性确实很高,但是缺点也很明显:第一,TF需要过苹果审核,很多H5封装的应用、带付费内容的应用根本过不了审核;第二,一个TF应用最多只能有一万个安装名额,90天就要重新上传,到期所有用户都要重新安装;第三,安装需要跳转TestFlight,很多用户嫌麻烦不愿意操作,转化率很低。而超级签名就灵活很多,不用审核(只要不做违法应用都可以签),安装直接点击下载,不用跳转,只要证书不封就能一直用,所以对于没法上架AppStore,又过不了TF审核的应用来说,超级签名还是最好的选择。
我做H5封装这么久,大部分客户的需求都是把H5网页封装成app,没法上架AppStore,都需要做IPA签名,我见过太多客户一开始嫌独享贵,非要做便宜的共享,结果不到一个月掉个三四次,用户天天投诉,最后不得不加钱换成独享,换完之后大半年都不掉一次,客户自己都说当初不该贪那点便宜。有一次一个做企业考勤app的客户,五十多台员工设备,非要省一百多块钱做共享,结果十天掉了三次,员工天天打不了卡,HR天天找客户投诉,客户最后找到我,加钱换了独享,现在快一年了只掉过一次,还是苹果清理闲置账号,商家当天就补好了,完全不影响使用。
总结一下我这么多年总结的超级签名防骗要点,第一,绝对不要贪低价,比市场价低一半以上的百分百是坑,要么是黑号要么是共享冒充独享,跑不了半个月肯定出问题;第二,凡是说“永不掉签”的都是骗子,苹果的风控机制在这里,没有人能保证百分百永不掉签,敢说这句话的就是骗你交钱;第三,一定要分辨真假独享,你可以先加几台测试设备,过一周上去看设备列表,如果有不是你添加的设备,那肯定是共享,直接换掉;第四,一定要问清楚掉签补签收不收费,很多低价签名补签一次收几十块,算下来比正规独享还贵;第五,不要一次性交大几千块钱包年,最好找按设备收费或者小金额按月付的,就算出问题损失也不大。
我自己做业务这么久,最深的感受就是,iOS签名这块,稳定才是硬道理,你价格再便宜,天天掉签,用户用不了,不管是对内测还是对正式业务,影响都是致命的,与其天天忙着补签应付客户投诉,不如多花一点钱用稳定的正规独享签名,省心又靠谱,这么多年我推正规独享,几乎很少有客户来找我解决掉签问题,大家都能安心做业务,这才是最重要的。