最开始接触苹果签名,是因为我们同好圈子做了一款私人的漫剧清单整理工具,只给圈内一百多个人用,不想折腾上架AppStore,可不上架又没法直接装在苹果手机上,逛各种技术帖的时候,翻到了P12企业签名技术博客,才顺着帖子一步步试了各种各样的签名方式,前前后后踩了好多坑,也摸出了不少实用的经验,今天就以我自己实际测试使用的感受,跟大家聊聊这些事。
第一次尝试的是最常见的企业签名,当时找了个网上报价很便宜的商家,付了钱没多久就给了我安装链接,我点开链接下载ipa包,下载完成点击安装之后,桌面上就出现了一个灰色的APP图标,点击打开直接弹出提示,说这是未受信任的企业级开发者,不能打开。我当时一头雾水,翻了好久博客才搞懂要手动信任证书,那时候我用的是iOS16系统,找信任入口找了快十分钟,一开始以为在隐私设置里面,翻来翻去都找不到,后来才知道,iOS15之后苹果把入口移到了设置-通用-VPN与设备管理里面,早些版本是在描述文件与设备管理,很多新手第一次弄都会在这里卡很久。找到入口之后,就能看到对应企业开发者的描述文件,点进去选信任,确认之后再退出来打开APP,就能正常用了。我第一次弄的时候,手忙脚乱点错删了描述文件,结果不得不重新下载安装包,折腾了快半小时才弄好,现在想想也挺有意思的。
说到P12证书,也是在那个P12企业签名技术博客上学到的,P12其实就是开发者从钥匙串里导出的、带私钥的证书文件,做企业签名的时候,就是用这个证书给你的IPA包重签名。后来我帮圈子里做开发的朋友打理签名,他自己买了企业开发者账号,导出P12给我让我找商家做独立签名,我才明白这里面的门道。第一次导出P12的时候,我没注意看博客提醒,导出的时候没勾选保存私钥,结果导出来的文件商家说用不了,没法签名,我又重新登后台重新导出,折腾了一下午才弄好。用自己的P12做独立企业签名和用商家的共享证书差别真的很大,最开始用的共享企业签名,几十块钱能用三个月,当时觉得占了便宜,结果不到一个星期就掉签了,APP图标点不开,又提示未验证应用。
掉签之后我也摸出了不少解决办法,其实不同签名掉签的处理方式不一样,像共享企业签名掉签,一般商家都会免费补签,只是你得重新下载安装包,要是你APP里存了本地数据,直接删掉重下数据就全没了,我第一次掉签的时候不懂,直接删了APP重下,圈子里好多人存了大半年的漫剧清单全没了,被大家念叨了好几天,后来才知道,其实掉签之后不删APP,只要重新安装新的描述文件就能恢复使用,不用删原APP,这点真的很重要,好多新手都踩过这个坑。要是是用自己P12做的独立企业签名掉签,一般要么是描述文件过期,要么就是账号出了问题,只要账号没被封,重新生成描述文件签一下就好,很多时候不用用户重新下载,比共享签名方便太多了。
试完企业签名,我又试了超级签名,超级签名是用个人开发者账号的设备名额来签名的,据说比共享企业签名稳定。安装流程其实和企业签名差不多,就是点链接下载,不过有的超级签名做好之后,也还是要手动信任证书,我第一次装的时候,以为超级签名不用弄信任,结果打开又弹未信任,又跑去找设置,和第一次弄企业签名一样懵。超级签名的稳定性确实比共享企业签名好一点,毕竟是每个设备单独签名,不容易被连累,但是缺点也很明显,按设备收费,一个设备要几块钱,我们圈子一百多个人,算下来也要好几百,而且我还遇到过不靠谱的商家,把一个账号的一百个名额重复卖,卖给我之后又把我们的设备挤掉给别人,结果不到半个月我们全掉签了,找商家理论人家还让我们再加钱重新买名额,真的气得不行。而且只要超级签名用的账号被苹果封了,所有装过的APP都会掉签,之前我帮另一个小团队测试,三十多个人装完没半个月账号被封,全掉了,挨个通知重新装,折腾了整整两天。
后来听朋友推荐试了TF签名,也就是TestFlight签名,这个是我现在一直在用的,真的太稳定了。TF本身是苹果官方的测试平台,所以整个流程都是苹果官方认可的,安装流程也很简单,用户先从AppStore下载TestFlight这个官方APP,然后点开我们的邀请链接,会直接跳转到TestFlight里面,点安装就能用,根本不需要手动去信任证书,对小白用户太友好了。之前用企业签名的时候,好多年纪大一点的圈友,根本找不到信任入口,我要一步步截图标注教程,教半天还是有人不会,用TF之后根本不用我操心,点链接跟着走就能装上。我用TF签名快一年了,从来没掉过签,稳定性真的没话说,唯一的小问题就是,TF有下载次数限制,好像最多也就几千次,我们圈子才一百多个人,完全够用,要是人数多的大团队可能就不够用了,而且TF也有审核,虽然比AppStore松很多,但也会拒审,我第一次提交的时候,因为我们APP里面加了圈友自发分享的板块,说我内容没有相关资质,给我拒了,改了两次才过,这点还是要提前做好准备。
我还试过H5封装,就是把我们的网页版清单套个APP壳,做成IPA安装包,当时想着开发快,不用弄原生代码,结果体验真的太差了。首先就是很多权限用不了,我们要存本地离线清单,经常被系统清理掉,推送通知也收不到,有人找我要新链接根本通知不到。而且封装出来的包,很多签名商都不愿意接,说容易被检测出违规,我好不容易找了个商家签完,第二天就掉签了,打开的时候卡顿得厉害,加载个页面要十几秒,还经常闪退,用了三天我就弃用了,也就临时做个三五天的活动,凑合用用还行,长期用真的不行,而且苹果还经常拦截H5封装的安装链接,点进去就说网址不安全,根本跳不到安装页面,折腾起来比别的签名还麻烦。
当然我们也试过AppStore上架,当时想着能上架肯定最好,用户直接搜就能下,不用折腾任何签名步骤,体验最好。结果我们提交了三次都被拒了,说我们这种私人分享工具没有相应的资质,而且个人开发者上架很多内容都受限,改来改去都过不了,就算过了,也随时可能被下架,我认识一个做私人社交工具的朋友,上架三个月就被下架了,之前的用户根本没法更新,所以对于我们这种只给小圈子用的工具来说,上架AppStore门槛真的太高了,耗时间耗精力还不一定过,不如用签名来的实在。
折腾了这么多,我也摸出了不少让签名稳定流畅的方法,其实最关键的就是不要贪便宜,不要碰免费签名和低价共享签名,免费签名要么加广告,要么两三天就掉,还可能偷用户数据,太不安全。如果是几百人以内的小团队小圈子,优先选TF签名,官方背书,基本不会掉签,用户安装也简单,省好多事,就是找人帮忙提交审核花一点钱,之后一年半载都不用管,太省心了。如果人数比较多,超过TF的下载限制,那就用自己的P12证书做独立企业签名,别用共享的,共享证书就是好多人共用一个证书,只要有一个人签了违规APP,整个证书都会被封,所有人都掉签,自己有P12的话,只有你自己用,根本不会被连累,稳定很多,只是自己买企业开发者账号成本高一点,但是稳定性真的差好多,要是不想自己买账号,也找靠谱的商家做独享企业签名,虽然贵一点,但是掉签概率低很多,省了掉签之后挨个通知的麻烦。如果是几十个人的小团队,也可以选超级签名,按设备收费,人少的话成本不高,也比共享企业签名稳定,只要找靠谱的商家,不要找那种重复卖名额的就好。当然要是能满足上架条件,能上架AppStore肯定还是上架最好,官方的,用户体验最好,也最稳定,就是门槛高,普通小工具很难过审。
我之前还踩过一个坑,就是找了个不靠谱的商家,我把自己的P12证书给他做独立签名,结果他偷偷拿我的证书给别的违规APP签名,没半个月我的账号就被苹果封了,证书直接废了,买账号花的几千块打了水漂,找商家人都找不到了,所以大家要是用自己的P12,一定要找靠谱的渠道,不要随便把P12给不认识的商家,不然真的得不偿失。还有P12导出之后一定要存在安全的地方,我第一次导出完存在U盘里,U盘丢了,又重新弄了好几天,后来我就存在加密云盘里,就再也没出过问题。
作为一个普通的APP测试用户,折腾这么多签名方式,最大的感受就是,苹果签名其实没那么神秘,都是按照苹果的规则来的,适合自己需求的才是最好的,不用盲目追便宜,稳定才是最重要的,毕竟掉签一次,折腾的功夫省的那点钱早就补回来了,我现在用TF签名用了快一年,从来没出过问题,大家用着都很舒服,我也不用天天盯着有没有掉签,省了好多心。