我自己捣鼓了几个自用的小工具APP,平时也就自己和身边几个相熟的朋友一起用,不想折腾太繁琐的上架流程,最早听人说可以做苹果签名,就能直接在苹果手机上安装不用上架,于是就开始自己摸索,这一路踩了不少坑,也用遍了市面上常见的各种签名方式,慢慢摸出了一些适合自己的经验。
最开始接触的就是企业签名,那时候只想着找划算的,就找了商家做,拿到安装链接之后,我按照商家说的,打开自带的浏览器点安装,等了一会桌面就出现了APP图标,结果点开之后直接弹出来说不受信任的开发者,根本打不开。我那时候刚接触这些,完全不知道接下来要做什么,翻商家给的教程也写的含糊,只说要去设置里信任证书。我那时候手机系统刚更过,入口和旧版本不一样,我按着旧教程在通用里面翻了好久都找不到描述文件管理的入口,急的满头汗,找商家询问也半天得不到回复,后来还是自己瞎翻,才在通用里面的VPN与设备管理分类里找到了对应的证书条目。点进去之后点信任,那时候还不知道验证证书需要联网,我刚好关了移动数据,wifi又刚好断了,点完信任一直弹无法验证,我以为是证书坏了,折腾了快一个小时,才发现是没网的问题,连上网之后一下子就通过了,现在想起来都觉得好笑。
用了没多久就遇上了掉签,那天我正打开APP整理东西,突然就闪退了,再点开直接提示证书无效,根本进不去。我慌得不行,因为里面存了好多我攒了好久的内容,赶紧找商家,商家说就是掉签了,需要补签,等了半天才给我新的安装链接,原来的APP根本打不开,也导不出来数据,最后只能删掉重装,攒的内容全部没了,心疼了好久。那之后我就开始查掉签之后的解决办法,慢慢也摸出了门道,一般遇上掉签先别急,先看是哪类签名,如果是企业签名掉签,先找商家补签,能补的话尽快补,不能补的话就赶紧换证书,要是着急用,可以先找临时的其他签名过渡,要是舍不得APP里的数据,可以先找工具把手机里的安装包数据导出来,重新安装之后再导回去,能少损失一点,我后来就养成了定期备份数据的习惯,再也没丢过内容。
后来我想着总是找商家不如自己弄,就开始了解P12证书,原来P12就是开发者从开发者后台导出的,包含私钥的证书文件,签名的时候要用到这个文件,要是自己手里握着P12,比用商家的共享证书要稳妥太多,因为共享证书是好多人共用一个,只要有一个人的APP违规,整个证书都会被封,所有人都跟着掉签。我那时候自己弄了开发者账号,学着导出P12,结果第一次导出的时候选错了选项,没把私钥导进去,导出来的文件导入签名工具一直报错,折腾了一整晚才弄对,后来我把P12存在电脑里,结果电脑坏了重装系统,我忘了备份,P12直接丢了,好好的证书就这么废了,从那之后我都把P12存在好几个不同的云盘里备份,就怕再出这种问题。自己用P12签名其实也很方便,现在好多在线签名工具都能自己上传安装包和P12,片刻就能生成新的安装链接,不用等商家回复,随时随地都能弄,比找商家省心太多。
用了这么久,各种各样的签名渠道我都试过,先说说企业签名的感受,也就是大家常说的苹果企业签名优势劣势,我自己用下来的感受,优势真的很明显,不需要苹果做太严格的审核,弄好之后很快就能安装,也没有安装人数的限制,不管多少人用都可以,价格也不算高,就算是独立证书,分摊下来也比很多其他方式划算。劣势也同样突出,稳定性没法保证,共享证书就不用说了,掉签掉的很频繁,动不动就用不了,就算是自己握P12的独立证书,也没法保证百分百不掉签,只要APP内容碰了苹果的红线,证书直接就会被封,再也用不了,我之前有一个用了好长时间的独立企业证书,就是因为APP里有一小块内容没处理干净,碰了苹果的规则,直接被封了,所有装了的APP都用不了,损失不小。
之后我也用过超级签名,超级签名是用个人开发者账号的额度来做签名,我当时是企业证书被封之后着急用,就临时弄了超级签名。安装流程其实和企业签名差不多,只是大部分超级签名不需要手动去设置里信任证书,安装完就能直接打开,比企业签名方便一点。用下来的感受是,超级签名比共享企业签名要稳一些,掉签的概率低很多,但是劣势也很明显,按设备算费用,每加一个设备就要收一次费用,就算你卸载了原来的设备,那个额度也退不回来,很浪费,用的人多一点的话,算下来比企业签名贵好多,而且如果商家用来签名的开发者账号被封,所有装了的APP都会一起掉签,我就遇上过一次,当时商家的好几个账号一起被封,我和朋友的APP全都用不了,折腾了好久才换好。
再后来我就开始用TF签名,也就是苹果官方TestFlight平台的测试签名,这也是我现在一直在用的方式,稳定性真的好太多。弄TF签名需要先把安装包上传到TestFlight,过了苹果的审核之后就能生成下载链接,用户点链接之后,先跳转到App Store下载TestFlight客户端,然后就能直接在TestFlight里安装对应的APP,整个过程不需要手动信任证书,因为是苹果官方的平台,所以根本不会有证书不受信任的问题。我第一次上传的时候还以为审核会要好久,结果没多久就过了,用了好长一阵子都没掉过签,真的太稳了。当然也有小问题,就是用户需要额外装一个TestFlight,很多第一次用的朋友觉得麻烦,还有的时候链接会打不开,需要刷新一下或者换个网络才能进,不过这些小问题和不掉签比起来,真的不算什么。
我还试过H5封装,就是把自己做的网页直接打包成APP,然后再做签名,当时是想把自己常用的一个网页做成桌面APP,就找平台做了H5封装。用下来的感受就是体验真的不太好,太卡顿了,切个后台再回来就要重新加载,很多原生功能都用不了,比如调用摄像头推送通知这些,经常出问题,我当时做的封装APP需要调用摄像头扫东西,结果一直弹权限错误,改了好多次打包设置才好,而且H5封装本质还是网页,只是套了个APP壳,最后还是需要做签名才能安装,该掉签还是会掉签,所以我用了没多久就不用了,只适合临时凑合用,长期用真的不行。
我也试过把APP上架AppStore,那时候被签名掉签搞烦了,想着干脆上架算了,一了百了。结果上架的过程真的太折磨人了,苹果的审核条款特别多,稍微有点不符合规则就会被退回来,我改了好多次,最后还是有一个功能不符合要求,一直过不了,后来换了一个简单的工具APP,改了好多内容,去掉了所有不合规的部分,才终于上架。上架之后体验确实好,用户直接从App Store搜索就能下载,更新也方便,也完全不用担心掉签的问题,但是审核真的太严了,就算上架了也说不定哪天就被下架,还要交年费,对于我们这种只是自己小范围用的APP来说,成本太高了,而且很多类型的APP根本就没法上架,所以我现在大部分自用的APP还是用签名。
用了这么久,我也摸出了一些让签名稳定流畅的方法,首先千万不要图便宜去用那种价格很低的共享企业签名,这种签名掉签频率真的很高,折腾来折腾去反而更闹心。如果只是小范围自己和朋友用,优先选TF签名或者自己握P12做超级签名,都是自己能控制的,稳定性高很多。如果用的人比较多,可以做独立企业签名,一定要自己握P12,不要用商家的共享证书,自己控制证书,只要APP内容合规,不要碰苹果的红线,一般都能用很久。还有一定要做好备份,P12要备份在好几个地方,APP的数据也要定期备份,就算真的掉签了,也能很快恢复,不会耽误用,也不会损失内容。
我现在用的自用工具就是TF签名,已经用了好长一阵子了,从来没掉过,朋友要安装直接发链接过去,他们装个TestFlight就能用,虽然多一步安装,但是不用天天担心掉签,用着特别安心,之前掉签丢内容的阴影终于没有了,其实只要选对适合自己的签名方式,做好备份,苹果签名用起来还是很方便的,能满足很多没法上架AppStore的小APP的使用需求,就算偶尔出点小问题,只要提前做好准备,也能很快解决,不用太担心。我之前还总觉得签名这件事特别复杂,踩了几次坑之后才发现,其实只要不贪小便宜,选对适合自己使用规模的签名方式,比什么都重要,现在我给身边想要做签名的朋友推荐,都会说先想清楚自己要给多少人用,能接受多少成本,再选对应的签名方式,别上来就找最便宜的,不然最后折腾的还是自己。