我做一款面向行业用户的iOS工具应用好些年了,从最开始创业起步找不到稳定签名,天天被掉签问题折腾到差点项目夭折,到现在长期稳定使用,还能完美适配应用需要的AppIntent应用意图功能,这一路踩过的坑加起来能绕办公桌一圈,最后才找到适合自己的稳定方案,今天就把我亲身经历讲出来,给和我一样没法上架官方商店的开发者做个参考。 刚起步的时候资金不多,想着能省则省,听别人说企业签名便宜,就在网上找了报价最低的通用授权,那时候真的不懂,只看价格,想着反正先凑合用,等用户多了再换好的,结果没想到噩梦就开始了,掉签真的太频繁了,基本上隔没多久就要掉一次,最夸张的一次,早上刚给用户发完新的安装包,下午就有大半用户说打不开,点进去就是弹出未受信任的企业开发者提示,要么就是直接闪退,我那时候天天守着用户群,只要有人说打不开,我就得马上找服务商补发,补发完还要重新做下载链接,再发到群里告诉用户重装,折腾的我根本没心思做开发和运营,用户也被折腾的受不了,不少人用了一次就再也不来了,那时候我才知道,原来签名稳不稳定这么重要,我一开始以为只是个小事,没想到直接影响用户留存,甚至能决定项目的生死。 后来踩坑多了,我也慢慢搞懂了苹果签名到底是怎么回事,其实企业签名本质就是利用苹果给企业开发者开放的内测授权,用企业证书给未上架的应用签名,让应用可以不经过App Store审核就能直接在iOS设备上安装。
苹果给每个企业开发者账号下发的证书,本身是有配额限制的,一张证书能签的应用数量和能安装的设备数量都有上限,如果超量使用,或者同一证书里签了违规应用,就很容易触发苹果的风控机制,被苹果吊销证书,也就是我们常说的掉签。 很多做低价通用签名的服务商,就是一张证书塞进去很多很多应用,完全不管配额,也不管应用是不是违规,只要给钱就签,这样一来,随便哪个应用出问题,或者超了配额,整个证书就被吊销,所有签在上面的应用全部掉签,所以才会失效的这么频繁,我之前用的低价通用签名,就是这么个情况,完全是拿稳定换低价,看起来省了钱,实际上亏了用户,亏了精力,比什么都贵。 之后我试过各种不同的授权分发方式,一个个试过来才找到适合自己的,最先换的还是企业签名,只是从通用授权换成了专属授权,一开始我以为专属授权会贵很多,问了几家才发现,其实也没有我想的那么离谱,只是比通用授权贵一些,但对于已经有不少付费用户的我来说,完全承担的起。
专属授权就是一张证书只给我一个人的应用用,不会和其他陌生人的应用共用,也就不会被别的违规应用牵连,服务商也不会超量放应用,自然就很难触发苹果的风控。 我换第一家专属的时候其实也踩了坑,那家不支持我需要的AppIntent应用意图功能,签完之后应用的核心跳转功能用不了,我又得重新换,后来找了现在合作的这家,明确说支持AppIntent应用意图,还帮我提前测试了功能没问题才正式签发,换完之后的体验真的差太多了,第一个月稳稳的,一次掉签都没有,我那时候简直不敢相信,之前天天折腾掉签补发,现在居然能长期安稳使用,用到现在,总共才出过两次小问题,一次是我自己更新版本的时候改了包名,没提前告诉服务商,触发了检测才掉的,还有一次是苹果更新了企业证书的相关政策,服务商提前很久就通知了我,帮我提前换好了新证书新链接,还做了老链接的自动跳转,老用户打开直接自动更新,根本不用手动重装,对用户一点影响都没有。 除了企业签名的两种授权,我其实还试过其他方式,第一个就是TF内测,也就是TestFlight,TF是苹果官方的内测平台,本身是苹果官方认可的,稳定性其实还不错,很少会掉,但是TF有个最大的问题,就是每个应用有名额限制,我换专属签名的时候用户规模已经接近上限,再过不久就要超名额,而且安装的时候用户需要先下载TestFlight,再从TestFlight里面安装我的应用,步骤比直接扫码安装多了两步,很多对操作不熟悉的用户根本不会弄,来找我问半天,我还要挨个教,特别费精力,而且每次更新版本都要重新提交TF审核,虽然比App Store审核松,但也经常会卡很久,我有一次赶活动更新功能,卡了好久才过,错过了活动时间,损失不小,所以TF适合那种刚起步,用户量不多,能接受多一步安装步骤的团队,对我那时候的情况来说,确实不合适。
我还试过H5封装,就是把我的网页版工具封装成iOS安装包,当时想着H5封装更新方便,不用每次更新都重新签名,结果用了才知道,体验真的太差了,封装出来的包调用原生功能特别卡,比如调用用户的相册存文件,调用相机扫二维码,都经常闪退,而且很多系统权限申请不下来,封装的包也还是需要签名,一样会掉签,核心功能体验还比原生包差这么多,我用了不长时间就放弃了,只适合那种做展示类的应用,不需要用到什么原生功能,对体验要求不高的项目,像我这种工具类,对功能体验要求高的,根本没法用。 我当然也试过官方上架,要是能上架App Store谁不想呢,官方上架不仅稳定,用户搜得到,也不用操心签名的事,但是我的应用是面向特定行业的内部工具,有些功能不符合App Store的审核规则,我前后提交了多次,都被拒了,找了专门做上架服务的机构,花了不少钱,还是过不了,所以对我来说,官方上架这条路根本走不通,只能老老实实做签名。 这么久试过不同的渠道,也有了不少实际对比,个人卖家的价格最便宜,但是最没有保障,我之前在社群找过一个个人卖家,收了我一整个周期的通用签名钱,没过多久人就联系不上了,签名也掉了,钱直接打了水漂; 然后是各类小型电商店铺的服务商,价格比个人卖家贵一点,比专业平台便宜,但是售后很差,掉了补发要等半天,而且很多小店都是做通用签名走量,根本不会管你功能支不支持,我之前找小店签我的应用,说好了支持AppIntent应用意图,结果签完功能用不了,找过去店家说他们也解决不了,也不给退钱,特别坑; 现在我用的是专业签名平台的专属授权,价格比个人和小店贵一点,但是明码标价,专属授权可以按周期付,长期合作还有不小的优惠,算下来其实比我之前天天换签名、天天补发折腾花的精力成本便宜多了,而且平台有固定客服,不管什么时候找都有人回应,功能提前测试,有问题马上解决,真的省心太多。
说到重授权和补发经历,印象最深的有两次,一次是年底我更新大版本,自己粗心把包信息写错了,签完之后用户根本安装不了,我当时已经是晚间休息时段了,抱着试试的心态找了平台客服,没想到客服马上就对接了技术,没多久就给我重新签好了,也没多收我一分钱,那次要是换了之前的小服务商,肯定要等到次日,用户大半天用不了,不知道要流失多少; 还有一次就是之前掉签那次,我自己改了应用内容没提前沟通,导致证书出问题,我找到客服,客服没怪我,当天就给我补发了新的签名,还给我提了醒,说之后改内容要提前说,就能避免掉签,从那之后我就再也没因为自己操作问题掉过签。 现在长期用下来,真的特别满意,每天不用再盯着用户群等用户说打不开,不用天天找服务商补发,能安安心心做功能更新,做用户运营,用户的满意度也高了很多,续费率比之前掉签频繁的时候涨了很多,项目也慢慢走上了正轨,当初差点因为签名问题放弃,现在想想,要是早一点找到这种稳定的专属授权,能支持AppIntent应用意图的服务商,也不会走这么多弯路。 其实对于我们这种没法上架官方商店的开发者来说,找一个稳定的签名方案,真的就是项目能活下去的基础,功能再好,用户天天打不开,一切都是白搭,我踩了这么多坑,最后能找到这个稳定的方案,真的觉得特别幸运,现在日常使用几乎不用再为签名的问题费心,所有精力都能放在打磨产品和服务用户上,整个项目的运转也越来越顺,不少同行过来问我方案,我都会把这个稳定的选择推荐给他们,毕竟只有自己踩过坑才知道,稳定靠谱比什么都重要。