我是个喜欢折腾小工具的普通人,去年因为爱好做了一款记录手办拆箱和藏品估值的小APP,一开始满心欢喜想分享给同圈的朋友试用,最先想到的自然是上架AppStore。我早早花了钱买了个人开发者账号,按着教程打包提交,前前后后改了三次,每次都被审核打回,第一次说我的UI不符合苹果规范,改完又说我允许用户导入自定义藏品信息存在安全风险,最后一次直接说功能不符合上架要求,要么砍掉核心功能要么别提交。那时候真的挺挫败,花了钱耗了时间,结果连门槛都没过去,没办法只能转头去了解各种各样的苹果签名,这大半年用下来,大大小小的坑踩了不少,也攒了好多真实的感受。
最开始我听人说H5封装最快最便宜,不用懂太多技术就能弄好,我就找了个免费的H5封装平台,把我做好的网页端包了个APP壳。现在还记得第一次安装的流程,平台给了一个网页链接,用苹果手机打开之后点下载,会先弹出描述文件下载的提示,点允许之后会自动跳到安装,装完之后我点图标,直接弹出提示说“未受信任的企业级开发者”,根本打不开。那时候我完全不懂,翻了半天设置才找到信任证书的入口,现在的iOS系统和老版本不一样,路径藏得挺深,要打开设置点通用,往下拉半天找到VPN与设备管理,进去之后还要输入手机锁屏密码,才能找到对应的证书,点一下信任才能打开APP。我那时候找这个路径找了快十分钟,还特意截了图做了教程发给朋友,好多第一次装的朋友都卡在信任证书这一步,说找不到入口,那段时间我天天在群里回答怎么找信任设置,头都大了。免费H5封装用了没三天,我打开APP直接变成了灰色图标,点进去没反应,后来才知道这就是掉签,苹果吊销了证书的权限,所以用不了。那时候我慌得不行,到处找解决办法,问了人才知道免费的H5封装用的都是几百个APP共用的共享证书,只要其中一个APP违规,整个证书都会被封,所有人一起掉签。H5封装本身体验也不好,我这个APP要滑动浏览图片,点进去估值计算,封装完之后滑动卡得不行,点一下要等好几秒,体验真的太差了,所以用了不到一周我就放弃了H5封装。
后来我开始了解企业签名,听说企业签名用的是苹果企业开发者账号签发,支持任意用户安装,不限制设备数量,适合小范围分享。我一开始图便宜,找了个几十块钱一个月的共享企业签名,安装流程其实和H5封装差不多,也是给个链接,点安装之后再去设置信任证书,流程我已经熟了,所以这次没费什么劲。刚装上那两天用着还可以,比H5封装流畅多了,结果没成想一周掉了三次签,每次掉签都要重新安装,我存在本地的藏品记录全部没了,好多朋友都过来吐槽,说用得好好的突然打不开,每次都要重新登重新输数据,太麻烦了。后来有个做开发的朋友告诉我,想要企业签名稳定,最好是自己提供P12证书,用独立的证书签名,不要和别人共用。那时候我才懂P12证书是什么,P12其实就是开发者证书的私钥文件,自己生成导出之后给签名服务商,只用在你自己的APP上,不会和别的APP共用,自然不会被别人连累掉签。我按着教程生成导出P12的时候还踩了坑,第一次导出没设密码,服务商那边导入失败,后来重新导出设了密码才对,现在我都习惯把P12证书备份好,存在云盘、U盘和手机里各一份,就怕弄丢,毕竟弄丢了还要重新生成,挺麻烦的,而且自己拿着P12,就算服务商跑路了,我也能拿着证书去别的平台重新签名,不会被动。换了带自己P12的独立企业签名之后,掉签频率真的低了太多,之前一周掉三次,现在两三个月才可能掉一次,稳定了好多。
掉签多了我也摸出了各种掉签后的解决办法,像企业签名掉签,如果是自己带P12的,只要换个新的描述文件重新签名就行,很快就能弄好,如果是支持苹果签名证书自动重签的平台,后台会自动检测掉签,自动帮你重新签好,根本不用你去找客服催促,我之前用不支持自动重签的,掉签了找客服,客服半天不回,等大半天才能弄好,用户都快流失完了,现在用的这个支持自动重签,掉签之后十几分钟就能弄好,我只需要在群里说一声重新点链接安装就行,省了太多事。如果是共享证书掉签,就要等服务商换整个证书,那就要慢很多,有时候要等大半天,所以真的不建议用共享证书。
企业签名用了一段时间之后,我又听人说超级签名更稳定,更适合小批量用户,我就换了超级签名试试。超级签名其实是用个人开发者账号的权限签名,每个账号最多绑定一百台设备,按下载量收费,我那时候也就几十个用户,算下来成本其实也不高。超级签名的安装体验真的好很多,只要把用户设备的UDID添加上,用户点链接就能直接安装,根本不需要手动去设置里信任证书,装上就能打开,对新手用户太友好了,那段时间再也没人问我怎么找信任入口了。超级签名刚用的时候确实稳定,一个多月都没出过问题,结果后来突然全部掉签,原来给我做签名的服务商是用好多个人开发者账号拼的,其中一个账号被苹果检测到封了,连带我这个也掉了。超级签名掉签之后的解决办法也很简单,要是支持自动重签,服务商那边会自动换账号重新签,用户重新安装就行,我那次用的那个不支持自动重签,所以我一个个收集用户的UDID重新添加,折腾了大半天,累得不行。总的来说超级签名适合小批量的内测用户,几十上百人用的话,体验确实不错,成本也可控,就是用户多了之后成本会涨,而且也要选靠谱的服务商,不然容易被账号牵连掉签。
后来我还试了TF签名,也就是TestFlight签名,这个是苹果官方的测试渠道,所以稳定性很好。TF签名的安装流程和别的不一样,用户先要在AppStore下载TestFlight这个官方应用,然后通过我的邀请链接进去,就能下载我的APP,因为是苹果官方的渠道,所以根本不需要信任证书,也很少会掉签。我那个TF版本放了快半年了,从来没掉过签,真的是除了AppStore上架之外最稳定的方式。那为什么我不一直用呢?TF也有不方便的地方,首先就是用户要先装TestFlight,好多国内用户打开TestFlight加载不出来邀请链接,还要折腾网络,好多人弄了半天都装不上,而且TestFlight每个版本最多只能有一千个测试用户,更新版本还要重新提交审核,虽然审核比AppStore松,但也要等个一天半天,没法像别的签名那样更完马上就能更给用户,所以体验还是打了点折扣。TF如果掉签的话,一般都是APP本身违规被苹果封了,解决办法就是重新打包提交审核,一般都能过,就是费点时间。
这大半年用下来,我也算摸透了各种签名的门道,想要稳定流畅其实也不难,首先如果你能符合AppStore的上架要求,那肯定优先上架,只要过了审核,就是一劳永逸,所有用户都能装,永远不会掉签,体验是最好的,就是门槛高审核严,像我们这种个人做的小众工具,很多功能不符合要求,没法上架才选别的方式。如果是内测或者没法上架的产品,想要稳定首先要选对适合自己的渠道,就我自己的感受来说,小批量用户选超级签名,方便稳定,成本也不高,几百上千用户选带自己P12的独立企业签名,只要选对支持苹果签名证书自动重签的服务商,就能稳定用很久,不怕掉签麻烦,要是用户不嫌安装麻烦,TF签名其实是最稳的,毕竟是官方渠道,几乎不会掉。然后一定要记住,能用自己的P12证书就自己提供,不要用服务商的共享证书,共享证书几百个APP挤在一起,苹果一检测就封,你根本不知道什么时候会被别人连累掉签,自己的P12自己握在手里,安全又稳定,就算换服务商也能带走,不会被动。还有一定要选支持自动重签的,掉签之后自动检测自动重新签名,不用你手动找客服折腾,节省太多时间精力,我之前踩过没有自动重签的坑,掉一次签折腾大半天,现在用了自动重签,掉签了我都不用管,用户自己重新装一下就好,太省心了。
我这大半年踩过的小问题真的不少,比如输错UDID导致超级签名装不上,比如导出P12没设密码导致服务商导入失败,比如共用证书无辜被连累掉签,比如新用户找不到信任证书入口,这些问题其实多弄几次也就摸出规律了,现在我都能提前给用户做好教程,提前做好备份,很少出问题了。总的来说,苹果签名这东西,真的是一分钱一分货,不要贪便宜找那种几块钱几十块的共享签名,掉签掉到你怀疑人生,选对适合自己的渠道,用自己的P12,找支持自动重签的靠谱服务商,就能用得很稳定流畅,满足我们这种个人开发者分享小工具的需求。