我是个做了五年的独立iOS开发,这些年接过不少中小金融机构的活,大多是做内部展业工具、客户管理APP这类,基本都没法走AppStore上架,问的最多的就是签名的事,尤其是超级签名,毕竟超级签名用于金融APP算是目前行业里比较常见的选择了,我踩过的坑一箩筐,今天就掏心窝子说说真话。
先说说为什么不上AppStore上架?不是不想上,是根本过不了审。绝大多数做这类需求的客户,要么是没有对应的金融牌照,只是做内部给业务员用的工具,要么就是涉及一些定向的客户理财推荐,不符合AppStore的审核规则,我之前帮一个客户花了八千块找代办包过上架,折腾了三个月,被拒了六次,最后还是放弃了,走了签名的路子。
很多人刚接触iOS签名,搞不懂设备签名原理,我一开始也懵,后来踩了坑才摸透。说白了,超级签名本质就是用苹果官方的Ad Hoc分发权限,做的拆分配额签名。苹果规定每个个人开发者账号,一年99美元的那种,最多可以绑定100台测试设备,绑定之后,这个设备就能安装用这个账号签名的APP。超级签名就是服务商囤了大量正规的个人开发者账号,把每个账号的100个配额拆出来,给不同的客户用,每个要装APP的设备,都要绑定自己的UDID,也就是苹果给每台iOS设备分配的唯一识别码,把UDID加到对应的开发者账号里,再重新签名IPA包,用户就能直接安装了,这就是UDID绑定的核心逻辑,不是什么黑科技,全都是走苹果官方的规则,所以只要账号正规,稳定性就有保障。
说到P12证书使用,我刚入行的时候就栽过这跟头。那时候帮客户做IPA签名,自己买了个人开发者账号,按照教程导出证书,结果导出P12的时候没把私钥一起导进去,发给服务商之后,那边签名一直报错,说证书无效,我对着电脑折腾了一整夜,反复导了五六次才弄对。P12证书其实就是把开发者的证书和私钥打包成的一个文件,签名的时候必须要用完整的P12才能给IPA重签名,少了私钥根本没法用。更坑的是很多不良服务商,都是用共享的P12证书,一个P12给几十个客户签名几十个APP,苹果很容易就检测到批量分发,直接封账号,一掉就是一大片,这也是很多人用超级签名频繁掉签的核心原因。
我之前就吃过这个亏,客户的金融展业APP,客户一开始贪便宜,找了那种一块钱一个设备的超级签名,我当时劝他说低价肯定有坑,他不信说先试试水。结果不到一周,整个签名全掉了,所有业务员的手机都打不开APP,那天我妈在医院做小手术,我蹲在走廊里接了客户十几个电话,全都是催我解决的,我给服务商打了一下午电话才接通,人家说账号被苹果封了,要补签就得加三倍价钱,不然不管,客户那边十几个业务员出去谈客户,连客户资料都调不出来,急得跳脚,最后没办法只能加钱重做,从那以后我再也不碰任何低于十块钱一个设备的超级签名了。
说说不同渠道的真实价格吧,我做这么久,拿的都是渠道价,给大家说的都是实打实的行情,没有虚的。首先说IPA签名常见的几种,超级签名是按设备年付算的,正规的不共享P12不共享配额的,单个设备一年大概是15到25块,如果你设备量上千,能谈到15块左右一个,那些卖5块以下的,百分百是共享配额或者黑号,就是盗来的开发者账号,用不了几天就没。然后是TF签名,也就是TestFlight签名,这个是按整个APP算的,一般几千设备以内,一个月大概200到600块,包过审核的话会贵个一两百,TF是苹果官方的测试渠道,稳定性确实高,但是问题就是审核太严,金融APP尤其是涉及理财、信贷内容的,基本都过不了审,我前后交过七个金融APP做TF签名,只过了一个纯内部考勤的,剩下全被拒了,所以大部分时候还是只能选超级签名。再就是企业签名,共享企业签名一个月大概100到300块,独立企业证书一个月1000到2000块,但是企业签名现在苹果查的太严,尤其是金融类APP,苹果盯得紧,共享签名基本一周掉两三次都是常事,独立证书也撑不过三个月,掉签就是全设备都不能用,太影响业务,所以我从来不推荐金融客户用企业签名。至于AppStore上架,要是你资质齐全,有正规金融牌照,找代办也就几千块能下来,要是资质不全,别信什么包过的,都是骗钱的,我见过太多人交了几万块最后啥也没弄成的。
现在很多客户一开始都是做H5,想要套壳做成APP,也就是H5封装,其实这个很简单,我接过不少这样的活,把做好的金融展业H5封装成IPA包,然后做超级签名,用户装完之后体验和原生APP差不了多少,成本还低,很多中小客户都喜欢这种方式,H5封装的IPA做签名和原生包没区别,一样走正常的IPA签名流程,改了内容只要包名不变,重新签名就能用,非常方便。
说回证书分发机制,苹果现在官方的分发其实就四种,第一种就是AppStore上架的正式分发,对所有用户开放,审核最严,门槛最高;第二种就是Ad Hoc分发,也就是超级签名用的分发方式,必须绑定UDID,每个账号最多100台设备,本身是给开发者做内部测试用的,超级签名就是把多个账号的配额整合起来用;第三种就是企业内部分发,用企业开发者账号,不需要绑定UDID,随便安装,但是只能给企业内部员工用,公开分发被苹果查到就直接封证书,所以掉签率极高;第四种就是TF签名的TestFlight分发,也是官方的测试分发,相当于苹果给你提供的测试占位,所以稳定性好,但是审核严,设备最多一万台,适合内容合规的APP。
掉签补签这个事,我太有发言权了,做金融APP,最要命的就是掉签,业务员出去谈客户,APP打不开,不仅误事,还显得特别不专业,丢客户都是常事。我之前合作过的一个服务商,说是掉签免费补,但是每次补签都要等二十四小时以上,有时候周末还不处理,掉一次签耽误两三天,客户闹了好几次,最后我直接换了服务商。现在合作的这家,都是用正规个人开发者账号,每个账号只给一个客户用,不共享P12也不共享配额,做了快半年了,只掉过一次,还是苹果那次大规模更新开发者协议,误伤了一批账号,当天下午三个小时就给补完了,也没额外收钱,这点真的太重要了。
很多人问,超级签名会不会泄露UDID,做金融的对隐私特别敏感,其实UDID只是设备的唯一标识,没有这个根本没法签名,正规服务商不会拿UDID做任何文章,我选合作方的时候第一要求就是不能留存用户信息,毕竟出了隐私问题,我作为开发也担不起这个责任,这么多年下来,从来没出过这方面的问题。
还有UDID绑定的小细节,很多用户换手机,需要把旧设备的UDID删掉释放配额,绑定新设备,正规服务商都是免费操作的,我之前遇到过不良服务商,换一个设备收十块钱,真的是抢钱,所以选的时候一定要问清楚后续的服务规则,别等用到的时候被卡脖子。我现在都是建议客户,如果条件允许,自己注册开发者账号,自己拿着P12证书,哪怕服务商换了,我也能随时换别家签名,不会被卡脖子,之前有个同行,把所有客户的P12都放在服务商那里,服务商跑路,证书全没了,所有客户都得重新做,赔了十几万,这个教训我一直记着。
其实做这么久独立开发,我最深的感受就是,超级签名用在金融APP上,核心就是求稳,不能贪便宜,你省那点钱,掉一次签损失的业绩都比签名费贵好几倍。找对正规的服务商,用正规的账号,不共享证书,其实用起来和上架AppStore也差不了多少,用户不用越狱,直接就能安装,也不会频繁弹不信任的提示,用着舒服,我们开发也不用天天跟着擦屁股,安安稳稳的比什么都强。