我是一个喜欢捣鼓小工具的普通用户,前段时间自己写了个记录养猫开销和流浪猫投喂日志的小APP,只有身边几十个朋友一起用,一开始没想着折腾签名,先试了AppStore上架,谁知道这一折腾就是大半个月,踩了一堆坑,最后也没等来想要的结果,反倒把各种苹果签名摸了个遍,今天就说说我这段时间的真实使用感受。
最开始我想着,不就是上架个小APP吗?按着苹果官方的流程走就行,谁知道第一步开发者资质审核就卡了我三天,我填的个人开发者,因为写收款信息的时候漏了一个开户行代码,直接被打回来,重新提交又等了两天。好不容易过了资质审核,上传APP包之后,审核又出了问题,我APP里加了个导出投喂统计表格的功能,苹果说我这个功能涉及未声明的用户数据导出,不符合审核规则,让我修改,改完重新提交又等了四天,第二次审核又说我的隐私政策写的不详细,没有说明数据会存到哪里,又打回来。前前后后折腾了快一个月,改了五次,我实在不耐烦了,身边朋友催着要使用,我就想着干脆试试苹果签名,先凑合用着,什么时候改好了再说上架的事,就这样一头扎进了签名的坑里。
最开始我找的是最便宜的企业共享签名,几十块钱能用好几个月,我想着反正就几十个人用,应该没问题。拿到安装链接之后,我自己先试安装,点了链接之后safari跳转下载,几分钟就下好了,但是点图标的时候直接弹提示,说“未受信任的开发者”,根本打不开,我那时候第一次弄签名,完全不知道还要信任证书,翻了好久的教程才找到步骤。那时候我用的还是iOS16,要打开设置,找到通用,往下翻好久才能找到VPN与设备管理,进去之后才能看到那个企业开发者的描述文件,点进去之后点信任,还要输一遍锁屏密码确认,才能打开APP。我妈那时候也要用,我在电话里教了她十分钟,她还是找不到设备管理在哪里,最后还是开了远程协助帮她弄的,折腾了快半小时才搞定,这是我遇到的第一个小麻烦。
用了没到一周,就出问题了,那天早上起来,好几个朋友给我发消息说APP打不开了,图标都变灰了,我自己点开看,果然又弹了未受信任的提示,后来才知道这就是掉签,苹果把证书给吊销了。那时候我急得不行,赶紧找卖家,卖家说共享签名掉签很正常,补签要等,等了一整天才给我新的链接,让大家重新下载,结果因为没有备份,好多人记了大半个月的数据全没了,怨声载道,我那时候别提多闹心了。后来我才知道,共享企业签名就是一堆APP共用一个证书,只要其中有一个APP是违规的,被苹果查到,整个证书的所有APP都会掉签,说白了就是贪便宜吃大亏。
这段踩坑的经历让我知道,想要稳定就不能贪便宜,之后我开始挨个试不同的签名类型,也搞懂了P12证书是怎么回事。最开始那个共享签名的卖家让我提供P12证书,我那时候已经交了个人开发者的年费,自己有证书,就导出了直接发给他,那时候不懂,连密码都没设,结果后来苹果给我发邮件,说我的账号存在违规操作,被标记了,再不改就要封禁,我吓得赶紧登录账号,发现我的证书被拿去签了好几个我不知道的APP,后来才知道很多黑心渠道会盗用用户的P12去签违规APP,出了问题全由原账号持有人背锅,我赶紧撤销了所有证书,改了账号密码,折腾了半天才申诉保住了我的开发者账号,从那之后我再也不敢随便把P12证书给不正规的渠道了。
之后我试了H5封装,说是成本低,安装方便,我就花了几十块做了一个,结果用了两天就放弃了。H5封装说白了就是把网页套个APP壳,我那个APP要调用相册存发票和疫苗本照片,每次调用都卡半天,还经常弹授权,输到一半的内容锁屏之后再打开,整个页面重新加载,全没了,还有朋友跟我说safari直接拦截了安装链接,说这个网址不安全,害得我解释了半天,体验实在太差,完全没法用,我当天就换掉了。
接下来试了超级签名,超级签名是用个人开发者账号的设备限额来签,最多一百台设备,我那时候才几十个用户,刚好够用。超级签名的安装体验比企业签名好很多,点链接下载完直接就能打开,不需要手动去设置里信任证书,省了好多麻烦,我身边的朋友都说这个方便。但是用了一个多月也出了问题,我找的那个渠道给我用的是共享的黑号,就是那种盗来的开发者账号,原账号主人发现之后直接撤销了证书,所有用户一下子全都掉签,我又要重新找渠道重新签,折腾了整整一天,大家才重新用上。后来我用自己的P12做超级签名,确实稳定了很多,毕竟是自己的账号,只有自己用,没人会牵连你,就是一百台的限额,后来朋友拉朋友,慢慢快到限额了,我就开始找别的办法。
之后我试了TF签名,也就是TestFlight签名,这个是苹果官方的测试渠道,说是最稳定的,基本不会掉签。我体验了之后发现确实稳,因为是官方的,苹果不会随便吊销,安装也不需要额外信任证书,只要用户先在AppStore下载一个TestFlight,然后点邀请链接就能直接安装我的APP,确实稳定,用了两个多月都没出问题。但是缺点也很明显,首先就是很多用户嫌麻烦,不愿意多装一个TestFlight,说占内存,好多人一听要多装一个APP直接就不用了,其次就是下载速度真的很慢,有时候网络不好,几百兆的APP能下半个多小时,还有就是更新版本也要重新提交审核,虽然比AppStore的松,但也要等一两天,我经常改点小功能加个新模块,每次等审核太耽误事,所以最后也没长期用。
这一路踩坑下来,我才找到现在用的苹果签名证书加固版的独立企业签名,这也是我用下来体验最好的。这个签名是用独立证书,只签我一个APP,不会和别的APP共用,而且做了加固处理,能规避苹果的检测,降低掉签概率,最让我放心的是,我可以自己持有P12证书,不需要把证书发给服务商,他们只做加固和签名打包,不会留存我的证书信息,完全不用担心证书被盗用,这点对我来说太重要了,毕竟之前差点丢了开发者账号,有阴影了。
用了快四个月,我只掉过一次签,还是因为我换了服务器域名,自己重新签版本,旧证书主动撤了才掉的,正常使用这么久从来没出过问题,稳定性比我之前用的所有签名都好。安装流程也很简单,我把链接发出去,用户点链接下载,下载完去设置里信任一下证书就能用,现在大家都用过一次之后,第二次自己就能操作,不用我再一个个教,就算是刚用的新手,我发个步骤图,两分钟就能弄好,比之前天天折腾补签舒服太多了。
这段时间用下来,我也总结了一些让签名稳定流畅的经验,首先就是绝对不能贪便宜用那种几十块一年的共享签名,掉签掉的你怀疑人生,天天折腾补签,用户烦你也烦,最后得不偿失。其次就是如果自己有开发者账号,一定要自己持有P12证书,不要随便给不正规的渠道,哪怕多花点钱,也要找支持自己存P12的服务商,不然账号被封了哭都来不及。如果你的用户不到一百个,用自己的P12做超级签名就很合适,成本不高,安装也方便,稳定性也够;如果用户更多,那就选独立证书加固的企业签名,不限制设备数量,只要做了加固,掉签概率很低,用着很省心;要是你不频繁更新,也能接受用户多装一个TestFlight,那TF签名确实够稳,官方背书基本不会出问题;H5封装我是不推荐,体验太差,只适合那种完全不用原生功能的页面,普通APP根本用不了;AppStore上架虽然最稳定,但是审核太严太麻烦,适合正式发布的APP,个人测试用的小工具真的没必要折腾。
就算真的遇到掉签也不用慌,现在正规的服务商都会免费补签,只要提前提醒用户做好数据备份,开了iCloud备份的话,重新下载之后数据也能找回来,要是超级签名掉签,大多是证书出问题或者设备满了,换个证书重新签一下就好,TF签名基本不会掉,除非测试期到了,重新上传一下就行。我之前遇到过iOS17用户信任证书之后还是打不开的问题,后来才发现iOS17的信任流程多了一步,要去设置里的证书信任设置开完全信任,按着步骤走很快就能解决,不算大问题。
这段时间折腾下来,我也明白,没有绝对不掉签的苹果签名,苹果的政策就是这样,哪怕做了加固,也只能降低掉签概率,那些说永久不掉的都是骗人的,只要选对了渠道和适合自己的签名类型,几个月才掉一次,甚至大半年都不掉,完全够用了,对于我们这种个人测试小APP,比上架AppStore灵活方便太多,改功能加内容随时都能更,不用等审核,太适合我们这种小圈子用了。