我做独立iOS开发快三年了,最开始一门心思扑在功能上,总想做个好用的小工具出圈,等功能做完才发现,上架才是最大的坎。
我做的是本地文件管理工具,支持多种加密格式解压,还有大文件分类整理,本来信心满满提交AppStore上架,结果三次审核都被打回,说我“存在未授权的第三方功能拓展”,沟通了无数次,改了三版还是过不了。实在不想砍掉核心功能妥协,只能转向外部分发这条路,这一做,就算是踏进了苹果签名的大坑,踩过的坑能绕我出租屋三圈。
最开始什么都不懂,连P12证书是什么都搞不清楚,听人说随便找个服务商签了就行,自己找了个低价的,几块钱买了一份P12证书就开始用。后来才明白,P12证书是把开发者证书和对应的私钥打包导出的文件,相当于签名的核心钥匙,正规的P12都是一个对应一个开发者账号,不会随便买卖复用。那些几块钱一份的P12,都是服务商把同一份证书卖给几十上百个人,所有人都用同一个证书签名,苹果的检测机制一抓一个准,不出一周肯定封号掉签。
我自己后来申请开发者账号生成P12的时候,还踩过一个大坑,当时生成完只存在了电脑本地,结果电脑硬盘坏了重装系统,P12备份没做,整个开发者账号直接废了,之前签的一百多个用户全掉签,我抱着坏硬盘哭的心都有了。现在我养成的习惯就是,P12生成完立刻加密备份到三个不同的云盘,从来不会导出给陌生人,也不会多个应用共用同一个P12,最大程度降低被苹果检测到的风险。
说点大家最关心的,不同渠道苹果签名的真实价格,我踩过这么多坑,摸的门清,那些喊着几百块终身无限签的,百分百是骗子,别信。现在市面上常见的IPA签名,分这么几种,价格都是透明的:共享企业签名,一个月大概150到300块,就是几百个应用共用一个企业证书,价格低但是掉签率极高,说不准哪天证书就被封了;独立企业签名,就是一个应用独占一个企业证书,一个月大概800到1600块,比共享稳一点,但只要被举报或者苹果清理,还是会掉,成本也不低。
然后是TF签名,也就是TestFlight签名,走的是苹果官方的测试渠道,现在一般上架一次TF的价格是200到500块,有效期90天,掉签率极低,毕竟是苹果官方认可的测试,缺点就是90天到期要重新提审,而且每个应用最多只能有10000个测试名额,用户多了不够用,审核虽然比AppStore松,但也会卡一些不合规的应用,我的工具之前试过提TF,也被打回了。
超级签名的话,正常都是按设备收费,正规稳定的,单个UDID设备的价格大概是3到8块钱,那些一块钱甚至几毛钱一个设备的,不是用黑卡注册的开发者账号,就是一个100台限额的账号塞两三百个设备,不出半个月肯定封号。我现在用的超级签名加固服务,按年付的话,一个应用一千多块钱,不限小体量用户的安装量,平均下来单个设备成本才一块多,比自己找散号划算太多。
很多新开发者搞不懂设备签名原理,其实说白了,超级签名就是钻了苹果个人开发者账号的规则空子,苹果允许每个个人开发者账号最多绑定100台测试设备,用来做开发测试,超级签名就是把用户的设备UDID绑定到开发者账号的设备列表里,生成对应的描述文件,再给IPA包签名,这样用户安装的时候,苹果会认可这个测试授权,就能正常打开使用了。
UDID绑定这一步,其实是超级签名稳定与否的关键,很多新手不知道,UDID是苹果手机唯一的设备识别码,必须提前把UDID加到开发者后台,才能正常签名安装。我刚做的时候,找了个免费的UDID获取工具,经常获取失败,用户装半天装不上,流失了好多人。而且很多不正规的服务商,会把同一个UDID重复绑定到多个账号,或者一个账号塞几百个UDID,远远超过苹果给的100台限额,这不触发苹果检测才怪,掉签是分分钟的事。我现在用的加固服务,会自动给UDID去重,每个个人账号最多只放60个设备,远远低于100台的红线,从根源上降低被苹果检测封号的概率,这就是加固的意义。
说到证书分发机制,其实现在四种主流分发我都用过,各有优劣。最正规的就是AppStore上架分发,签名是苹果官方给弄,只要上线了,几乎不会掉,用户下载也方便,但就是审核太严,很多小工具、定制化应用根本过不了审,对我们独立开发者太不友好。然后是企业级分发,用企业开发者账号的企业证书签名,不需要绑定UDID,不限设备数量,适合大流量的应用,但是企业证书太容易被封,只要有人举报,或者苹果检测到你做外部发布,直接封证书,所有用户全掉签,损失太大。然后就是TF分发,刚才说了,官方测试渠道,稳是真稳,但限制也多。最后就是超级签名分发,适合我们这种用户量几千以内的独立开发者,按设备付费,用多少花多少,只要做了加固分散账号,稳得很。
我现在身边很多做H5封装的朋友,大多都是给本地商家做展示APP,或者做一些小工具套壳,本身就是H5页面封装成IPA,这种根本过不了AppStore审核,全靠签名分发。他们之前大多贪便宜用共享企业签,掉一次签就是几百上千用户打不开,掉两次客户就跑光了,后来都转了超级签名加固,虽然单设备成本高一点,但是稳定,用户很少掉,留存高了很多,算下来反而比低价签划算。
说到掉签补签,我真的一肚子苦水,去年刚做这个工具的时候,贪便宜找了个一块钱一个设备的超级签,当时算着我收用户9块钱一年,扣掉成本还赚8块,美滋滋,结果才第六天,服务商那边所有开发者账号团灭,全被苹果封了,我两百多个用户全掉签,凌晨一点半还有用户发消息找我说打不开,我爬起来处理,服务商联系不上,群也散了,只能自己重新找渠道,一个个收集用户UDID,重新绑定重新签名,搞到天亮,掉了快三分之一的用户,那时候真的想把电脑砸了,好好的口碑,一次掉签全毁了。
后来换了现在的超级签名加固服务,才知道什么叫稳定,人家做加固就是提前做了预案,所有用户的UDID都备份好了,账号分散存在不同的开发者账号里,就算一个账号出问题,也只会影响几十个用户,不会全掉,而且系统会自动补签,几个小时就能搞定,用户只要重新点一下下载链接就能安装,我根本不用手动处理,也不用一个个通知用户,省了不知道多少事。之前也遇到过补签要额外收钱的服务商,掉一次签收几百块补签费,不给钱就不管,那种真的是抢钱,大家遇到一定要绕着走。
做独立开发这么久,我最大的感悟就是,我们这种小开发者,本来就是靠口碑留用户,每一个用户都是辛辛苦苦拉来的,签名这种基础服务,稳定真的比什么都重要,便宜那几块钱,掉一次签损失的用户,比省的钱多多了。我现在每天早上起来,打开后台,没有一堆掉签的投诉,就能安安心心更功能,回用户消息,不用天天熬夜擦屁股,这种日子真的挺舒服的。
前阵子给工具更了云同步的功能,用户量慢慢涨,也没有出过大的掉签问题,很多老用户还给我介绍新用户,我知道,选对稳定的签名服务,真的是给生意上了个保险,不用天天提心吊胆怕账号被封,就能把心思全放在做好产品上。