作为做了快六年的独立iOS开发者,每天都能收到新手同行或者用户问我,ios签名需要越狱吗?说实话,我刚入行那会也被这个问题坑过,那时候我开发了第一个给同事用的办公小工具,想分发出去,网上搜了半天,有人说必须越狱,有人说不用,给我整得晕头转向,踩了无数坑之后才摸清楚这里面的门门道道。今天就把我的真实经历写出来,给想要做签名分发的朋友提个醒。
首先给大家吃个定心丸,现在正规的iOS签名,不管是哪一种,都不需要越狱。早在十年前可能还有漏洞需要越狱配合,现在早就不需要了,只要是正版iOS系统,就能直接安装签名后的应用,完全不用动越狱那一套,越狱不仅让手机失去保修,还会带来安全风险,正规签名根本不需要碰那个。
我第一次做签名分发,是刚做出来那个记账小工具的时候,加了几个同行需要的自定义分类功能,慢慢用的人多了,本来想上架AppStore,结果改了三版都被拒,说我功能不符合规范,隐私政策表述不清,折腾了一个多月,实在耗不起,才想着做IPA签名分发,不用上架也能给用户装。那时候啥都不懂,P12证书是什么我都不知道,第一次导出证书的时候,只顾着导出证书,忘了把私钥也打包进去,结果生成的P12根本用不了,我又重新在钥匙串里删了证书重新申请,折腾了整整一天才弄对。后来我才知道,P12证书就是把苹果开发者账号生成的证书和对应的私钥打包导出的文件,不管是做签名还是打包,都必须要有完整的P12才能用,很多新手最容易在这里踩坑,导出的时候漏了私钥,整个证书就废了。而且P12证书如果是你自己的,一定要保管好私钥,不要随便给外面的服务商共享,很多黑心服务商拿你的P12给几百个应用签名,很容易被苹果检测到吊销证书,你自己的应用也跟着掉签,得不偿失。我现在自己的两个开发者账号的P12,都是本地云盘各存一份,从来不会随便共享出去,自己只用给自己的应用,稳定太多了。
说到稳定,就不得不提掉签的事儿,我印象最深的一次掉签,是前年做那个小说阅读器的时候,那时候贪便宜找了个19块钱一个月的共享企业签,刚推给两千多用户,第三天早上起来,打开微信一看,几十条消息说应用打不开,闪退还提示证书不受信任,我当时脑袋一下子就懵了,赶紧找服务商,结果人家说共享签本来就是这个价格,掉了不补,要补得再交一半钱,那时候我急得一天没吃饭,连夜找朋友借证书,重新签名,一个个通知用户重新下载,忙了两天两夜,最后还是流失了三分之一的用户,从那之后我就再也不信那种超便宜的签名了,便宜那点钱,根本不够填掉签的坑。
给大家说说我这些年接触到的不同渠道签名的真实价格,也给大家做个参考,绝对没有虚的。最便宜的就是共享企业签,就是几百个应用共用一个企业证书和P12,我见过最便宜的19块钱一个月,贵一点的也就五六十,这种适合你自己临时测试应用用,给用户用绝对不行,基本一周内必掉,掉了也没人给你补。然后是专属企业签,就是一个证书只给你一个或者少数几个应用用,价格大概是一个月300到600不等,稳定的服务商一般会承诺掉签两小时内免费补,补完用户不用重新下载,只要等证书生效就能重新打开,体验好很多,适合用户量几百到几千的开发者用。接下来是超级签名,超级签名是按设备算钱的,原理就是利用苹果AdHoc分发的机制,绑定用户设备的UDID到开发者账号,一个个人开发者账号最多绑100台设备,所以按设备收费,真实价格大概是一个设备3到10块钱不等,那种一块两块一个设备的,基本都是用共享的甚至盗用的开发者账号,哪天账号被封了,所有用户全掉签,跑都跑不掉,稳一点的基本都在6块钱一个设备以上。然后是TF签名,也就是TestFlight签名,是苹果官方的测试分发渠道,这个价格大概是一个应用200到500一个月,包年的话大概1000到1500,这个是目前最稳定的,基本不会掉签,除非你应用本身违规被苹果下架,而且不用用户手动信任证书,安装完直接就能用,体验最好,大用户量用这个其实比超级签名还划算。
说过价格,再给大家讲讲设备签名原理和UDID绑定,很多人不知道UDID是啥,其实就是每台iOS设备唯一的识别码,苹果给开发者开放的测试分发权限里,AdHoc分发要求你必须把要安装应用的设备UDID添加到你的开发者账号里,相当于给这台设备发了一个允许安装测试应用的通行证,这个就是UDID绑定,绑定之后用对应的证书签名打包,用户就能直接安装,这就是超级签名的核心原理。早期获取UDID还要用户连接电脑,麻烦得很,现在早就有工具可以在线自动获取了,用户点一下链接就能自动获取,绑定完直接就能安装,对用户来说其实很方便。
再说说证书分发机制,苹果本身的证书分发分好几种,个人开发者账号99刀一年的,只能做开发测试和AdHoc分发,最多绑定100台设备,企业开发者账号299刀一年的,可以做企业内部分发,不限制设备数量,不需要绑定UDID,苹果的TF签名走的是TestFlight的官方测试通道,最多支持一万个内测用户,本质都是苹果给开发者开放的测试渠道,我们独立开发者用来分发正式应用,其实是合理利用规则,只要你不要一个证书堆几百个应用,不要做违规内容,苹果一般不会管你。要是你一堆应用共享一个证书,苹果检测到你不是用来测试或者内部使用,就会吊销你的证书,也就是大家说的掉签,这也是为什么专属证书比共享证书稳定得多的原因。
我之前做那个给摄影团队用的传图工具,就是把原来的网页H5封装成IPA包,很多朋友不知道H5封装是什么,其实就是把移动端网页打包成iOS可以安装的应用格式,封装完之后就能调用系统推送、本地存储这些功能,比直接在Safari里用方便太多,封装完IPA我就做了TF签名,直接分发,几十个人的团队直接就能装,不用上架AppStore,也不用越狱,成本才几百块一年,太适合我们这种小团队做的行业工具了。
说到AppStore上架,其实我一直觉得,如果你的应用能符合苹果的规则,能过审,上架当然最好,但是对我们很多独立开发者来说,做的都是一些满足小群体需求的工具,很多功能不符合苹果的审核要求,比如我之前做的离线下载工具,三次上架都被拒,说我涉及未授权的下载内容,根本不给过,这种情况签名分发就是最好的选择,不用交30%的苹果抽成,所有收入都是自己的,上线也快,不用折腾一两个月等审核。
补签这个事儿我也得多说两句,掉签之后补签也分三六九等,好的服务商给你补签,不需要用户重新下载安装包,只要等个十几分钟证书生效,用户就能直接打开应用,基本没影响,差的补签要用户删掉原来的应用,重新下载新的安装包,要是应用大一点,用户还要重新花流量下,很多人嫌麻烦直接就不用了,对开发者来说流失率特别高。所以找签名服务商的时候,一定要提前问清楚,掉签补签要不要用户重新安装,补签的时效是多久,很多小服务商掉签之后两三天才给你补,用户早就跑光了。
我做独立开发这么多年,分发过十几个应用,踩过掉签的坑,也贪过便宜吃过亏,现在早就稳定下来了,我现在基本都是用户量小的时候用专属企业签,用户量大了就转TF签名,稳定不出问题,用户用着舒服,我也不用天天盯着有没有人说掉签,省心太多。很多新手刚入行,总想着找最便宜的,结果掉一次签,攒了大半年的用户流失一半,得不偿失。
其实现在整个iOS签名行业已经很成熟了,不管你是做H5封装的IPA,还是自己开发的原生应用,想要分发都很方便,也根本不需要越狱,只要选对适合自己的签名方式,找靠谱稳定的渠道,就能安安稳稳给用户提供服务,对我们这些做小而美产品的独立开发者来说,稳定比什么都重要。我最近还在准备做一个新的宠物成长记录小工具,还是打算做H5封装,走TF签名分发,不用折腾上架审核,也不用怕掉签,安安稳稳给有需要的用户用,挺好的。