我自己平时喜欢捣鼓点小工具,去年给部门做了个内部统计用的小APP,不想公开上架,又想让同事们都能在苹果手机上顺利安装,折腾了大半年苹果签名,各个渠道都试过,踩了一堆坑也摸出了不少经验,今天就聊聊我作为普通用户的真实使用感受。
最开始我其实是想直接上架AppStore的,毕竟听人说上架之后最稳定,所有人直接搜就能下,不用折腾别的。我按流程申请了开发者账号,提交了第一版审核,结果不到三天就被打回来了,说我APP功能描述不清晰,存在内部使用的非公开功能,不符合上架要求。我改了两次,还是没通过,每次审核都要等三四天,折腾半个月一点进展都没有,想想我这本来就是给十来个同事用的内部工具,没必要死磕上架,就转头开始找签名的路子。
第一个试的是H5封装,当时有朋友说这个最快最便宜,当天就能弄好,我就找了个商家花几十块做了。安装流程其实不难,商家给我一个网页链接,用Safari打开点安装,APP就会自动下载到桌面,和正常下载差不多,但是安装完之后点开会弹提示,说这个APP的开发者不受信任,没法打开。我那时候第一次弄,对着旧教程找了快半小时信任入口,原来新版本iOS把描述文件管理挪到了通用下的VPN与设备管理里,我在通用里翻来翻去找不到,差点以为是手机出了问题。后来好不容易找到入口,选中对应的描述文件点信任,验证几秒钟就能打开了。刚装上的时候觉得还行,能用,结果不到一周就出问题,统计功能经常卡,调取本地相册的时候直接闪退,后来苹果更新了一次系统,直接点不开了,才明白H5封装本质就是套个壳的网页,很多原生功能根本用不了,而且苹果对这种封装的壳封得特别快,没半个月我就彻底弃用了,只适合刚做出来给人临时演示,长期用根本不行。
之后我开始试企业签名,这也是我听得最多的一种签名方式。商家说几十块一个月的共享企业签,我图便宜先办了一个,安装流程和H5封装出来的差不多,也是给链接,下载完去设置里信任证书,流程我已经熟了,很快就装好给同事们用上了。刚用的时候确实比H5舒服,原生功能都能调用,流畅度也够,结果不到一周,全掉签了,所有人点开APP直接闪退,提示证书失效。我第一次碰到掉签,慌得不行赶紧找商家,商家说共享签本来就是这样,一个证书挂几百个APP,只要有一个APP违规被苹果查到,整个证书都被封,所有人都掉签,掉了补就是了。补完签要重新生成链接,所有人删掉原来的APP重新下载重新信任,我一个个给同事发链接教操作,折腾了一下午,好多同事还问我是不是装了病毒软件,解释半天特别尴尬。后来商家说要稳就得用独立企业签名,用专属的证书,最好用最新P12证书,只挂你自己这一个APP,被封的概率低很多。我那时候才明白,P12证书就是从开发者账号里导出的签名文件,带密钥,只有有了P12才能给APP签名让苹果认可,最新P12就是刚生成的,还没被苹果标记,也没挂过别的违规APP,稳定性自然比用了很久的旧证书好。我加钱换了独立签名,用的就是刚生成的最新P12证书,确实稳了很多,两个多月才掉过一次,那次掉签是因为商家那个企业开发者账号被苹果标记了,换了新的最新P12重新补签就好了。掉签之后的解决办法其实也简单,企业签掉了就是找商家重新签名,生成新安装包,删了重下重信任就行,要是自己手里有P12证书,自己就能重新签,不用等商家,快很多。
用了几个月企业签之后,我们部门扩人,十来个变成三十多个,我听人说超级签名适合小团队,按下载量收费,比独立企业签便宜,就转去试超级签名。超级签名是用个人开发者账号的证书签名,每个账号最多一百个安装额度,我们三十多人刚好够。安装流程其实和企业签差不多,也是给链接下载,完了去设置信任证书,不同的是很多商家说超级签名掉签了自动补,不用重新装,我实际用下来,只有正规的用自己最新P12的才能做到,我最开始找的那个商家用的是共享的个人号,不到一个月号就被封了,全掉签,联系商家换了号重新弄,又得全员重装,折腾半天。后来我自己申请了个人开发者账号,导出了自己的最新P12证书,自己掌握账号,哪个同事离职了就能直接移除设备释放额度,不用找商家,稳定多了,掉签的概率也低了很多,就是后来人数慢慢涨到八十多,离一百个额度上限越来越近,再加人就要换号加钱,有点麻烦,所以我又开始打听更稳的路子,就是TF签名。
TF签名其实就是苹果官方的TestFlight测试渠道,我之前听都没听过,试了之后才发现真的太省心了。安装流程和别的都不一样,不用你自己去信任证书,商家帮你把签好的包上传到TestFlight,给你一个邀请链接,你点开链接直接跳转到AppStore下载TestFlight这个官方APP,然后在TestFlight里直接安装我的小工具就行,因为是苹果官方的平台,证书本来就是官方信任的,根本不会弹不受信任的提示,不用再教同事们找设置里的入口,省了我太多事,之前不管企业签还是超级签,每次装完都有两三个人找不到信任入口找我帮忙,TF完全没这个问题。而且TF签名也要用到P12,上传之前还是要用最新P12证书先签好才能上传,我用自己的最新P12签好上传,第二天就过审核了,比AppStore审核松太多,基本不会卡你。我用TF签名快半年,只出过一次问题,就是TF的测试期是九十天,到期了要重新提交,重新生成邀请链接,原来的APP直接在TestFlight里更新一下就行,不用删了重下,十分钟就弄好了,根本不影响使用。当然TF也不是完全没缺点,有些人会觉得多装一个TestFlightAPP麻烦,其实也占不了多少空间,就是心理上有点不舒服,我解释两句大家也就接受了,还有就是一些特殊类目的APP没法上TF,我的小工具没问题,所以用着刚好。
折腾这么久,我也摸出了不少稳定流畅的方法,最关键的一点就是不管用哪种签名,一定要用最新P12证书,我之前踩过坑,商家给我用一个用了大半年的旧P12,说没问题,结果不到半个月就掉签,换了刚生成的最新P12之后,三个多月都没出问题,差别真的很大,新证书没有被苹果标记过,也没挂过违规APP,被封的概率低太多。然后就是不要贪便宜用共享签名,不管是共享企业签还是共享超级签,一堆APP挤一个证书,一个出事全掉,宁愿多花几十块,用独立的,自己握最新P12证书,稳太多。然后就是能选TF签名尽量选,毕竟是苹果官方的,官方认可的测试方式,只要你不违规,基本不会随便掉,对用户也友好,不用折腾信任流程,省心太多。
我之前还碰到过不少小问题,比如第一次导出P12证书的时候,不知道备份,结果电脑重装系统把P12弄丢了,只能重新生成新证书重新签名,又折腾了大半天,后来我都把P12存在云盘里备份好,再也没出过这种问题。还有刚更新iOS的时候,信任入口又变位置了,我对着旧教程找了好久才找到,后来每次装之前我都会提前把步骤写清楚,发给同事们,就不会瞎找了。
现在回头看,苹果签名这水确实深,很多商家说什么永久不掉签都是骗人的,只要不上架AppStore,本来就是苹果允许之外的使用方式,哪有绝对不掉的,但是选对方法,用最新P12证书,选适合自己人数的渠道,真的能把掉签概率降到很低,用着和上架的APP没多大区别。小团队十几二十人,用超级签名自己握最新P12,划算又稳定;几十上百人,用TF签名或者独立企业签名,用最新P12,也能很流畅,我现在用TF签名快半年,除了到期续了一次,根本没出别的问题,同事们用着都说舒服,我也不用天天处理打不开的问题,比之前用共享签的时候省心太多了。要是你也和我一样,做了个内部用的小APP,不想上架AppStore,真的可以试试我这个方法,少踩很多坑。