我做普通APP测试也有段时间了,这段时间帮不少小团队测未上架的应用,大大小小的苹果签名都试过,前阵子刚帮朋友用刚申请的最新苹果开发者账号弄完内测,踩了不少坑也攒了不少实际使用的感受,索性整理出来给和我一样的普通测试用户做个参考。
第一次接触苹果签名的时候,我还什么都不懂,帮朋友测一个小应用,找了个报价很低的企业签名,拿到安装链接点进去,在safari完成下载,图标出现在桌面之后,我点进去就弹提示说未受信任的开发者,根本打不开。那时候我以为是安装包损坏,删了重下好多次,还是打不开,后来去问给我做签名的人,才知道要去设置里手动信任证书。我按着网上找的旧教程翻找,那时候手机系统已经更新过,入口早就挪了位置,我翻了快半个钟头,才在通用菜单的最下面找到设备管理那块,进去之后看到对应的企业证书,点进去选信任,退出之后再点开应用,才顺利打开。那时候才搞明白,原来企业签名装完都要走这么一步,对不熟悉苹果设置的人来说真的挺麻烦,那时候找了几个外部帮测的朋友,快一半都卡在信任证书这一步,说什么都找不到入口,折腾了好久才能正常开始测试。
后来朋友自己申请了最新苹果开发者账号,说要用自己的证书签名,给了我一个P12文件,我那时候哪懂这个,以为要把这个文件装到自己手机里,对着手机捣鼓了好久,各种导文件都不对,后来才明白,P12是开发者从后台导出的证书文件,是给签名服务商用来签名用的,根本不需要我们测试用户碰,我那时候闹了好大一个笑话,还差点把文件删掉。后来自己跟着教程去开发者后台导出过一次才弄明白,生成证书之后导出成P12格式,设个密码就能给服务商,整个流程其实不难,就是第一次弄容易搞错,我第一次导出的时候选错了格式,导出来的文件不对,服务商用不了,又回去重新弄了一次才弄对,后来我习惯把导出的密码记在备忘录里,就再也没出过问题。用自己的P12签名和用服务商的共享证书真的不一样,这点我体验特别深,最开始用的那种便宜签名,就是一堆应用共用服务商的证书,没几天就出问题了。
那时候我正测到一半,打开应用直接闪退,再看图标都变灰了,提示证书失效,就是大家常说的掉签。我那时候慌得不行,里面存了好多测试的记录,赶紧去找服务商,半天都没人回,等到晚上才说证书被封了,要重新下载,重新下完之后所有数据都没了,大半天的测试成果全没了,那时候真的特别生气,从那之后我再也不贪便宜用那种共享签名了。这么多次掉签遇下来,我也摸清楚不同签名掉签该怎么处理,一般企业签名掉签,如果是用自己P12的独立签名,直接去开发者后台看看证书是不是过期或者被误撤了,重新导出一个新的P12发给服务商,很快就能重新签好,换个安装包覆盖安装就行,虽然数据也可能丢失,但至少掉签概率低,出问题解决也快。要是用的共享签名,掉签了能不能解决全看服务商心情,很多小服务商收了钱就失联,掉签了根本找不到人,就算找到也会拖好久,根本折腾不起。如果是超级签名掉签,一般要么是账号出了问题,要么是名额用完了,如果是自己的开发者账号,自己去后台删几个不用的设备或者重新生成描述文件就能解决,很快就能恢复,要是用的服务商共享账号,只能等着服务商换号,重新下载安装,很耽误事。TF签名其实很少掉签,毕竟是苹果官方的测试平台,一般只有版本到期或者你自己删掉了TestFlight才需要重新弄,开发者重新加一下测试就能下载,根本不存在掉签不能用的情况。H5封装的掉签其实和你用的签名类型有关,你用企业签就会掉,用TF签就不会,所以H5封装想要稳定还是放TF靠谱。
不同签名渠道用下来,感受差别真的很大,先说说企业签名,企业签名适合人数多的内测,不用受名额限制,只要证书没问题就能一直装,我现在用独立企业签名,用自己的最新苹果开发者账号出的P12,用了好久都没掉过,只有一次因为证书过期掉了,重新弄了一下就好,比共享签名稳定太多,就是价格比共享签名贵不少,但是胜在省心,不用天天担心掉签丢数据。然后是超级签名,超级签名我用着觉得最方便的就是安装不用手动信任证书,下完直接就能打开,对测试用户特别友好,之前企业签名一半的人卡在信任步骤,换成超级签名之后几乎没人说装不上,超级签名适合人数不多的内测,用自己的个人开发者账号做,稳定度也很高,只要你不把账号乱用来路不明的包,苹果不会随便封,我用了好几个月的超级签名内测,只出过一次问题,还是我自己不小心把描述文件删了,重新弄一下就好。然后是TF签名,TF签名是我现在内测的首选,真的太稳了,官方平台,根本不用担心掉签,安装也方便,给个链接点一下跳转到TestFlight就能下载,也不用信任证书,什么额外操作都没有,体验和正式上架的APP差不了多少,唯一的问题就是需要过苹果审核,有些不符合要求的测试包过不了,还有就是有效期只有一段时间,到期了要重新上传,对于小团队内测来说完全够用,我现在只要能过审核的都会优先选TF,真的省好多心。
然后是H5封装,H5封装就是把网页套个APP壳,适合临时做个演示用,我之前赶活动演示的时候做过一次,第一次找了免费的封装,用的共享企业签,第二天就掉了,后来改成封装好放TF,一直用到活动结束都没出问题,就是体验确实不如原生应用,滑动跳转都有点卡,很多原生功能调用也不顺畅,偶尔用用还行,长期用肯定不行。最后就是AppStore上架,AppStore上架肯定是最稳的,正式上线的APP走AppStore,用户直接从应用商店下载,不会掉签,不用任何额外操作,苹果官方认可,用户用着也放心,就是审核太严,改来改去很折腾,成本也高,所以一般只有正式上线才会走,内测很少用,我帮朋友弄过一次上架,前前后后改了好几次才过审,虽然折腾,但是上线之后真的省心,再也不用管签名的事了。
踩了这么多坑,我现在算是摸清楚怎么才能稳定流畅不折腾,首先就是能走官方渠道就走官方渠道,能放TF就放TF,能上架AppStore就上架AppStore,苹果自己的平台,肯定不会随便封你的应用,稳定性比任何第三方签名都好,根本不用担心掉签的问题。如果官方渠道走不通,一定要用第三方签名,那就一定要用自己的最新苹果开发者证书导出的P12,千万不要用服务商的共享证书,一堆应用挤一个证书,苹果很容易检测到异常,一封就是一片,掉签掉到你怀疑人生,自己的P12只签自己的应用,苹果根本不会管,稳定太多。然后就是一定要找正规的签名渠道,不要贪便宜找那种价格低得离谱的,那种基本都是共享证书,赚完钱就跑,掉签了根本找不到人,正规渠道虽然贵一点,但是出问题能找到人,掉签了能及时补,省好多折腾的时间,我之前贪便宜花很少的钱买共享签名,隔三差五掉签,折腾得我头大,后来换了正规的独立签名,虽然花的钱多一点,但是好久都没出问题,算下来反而更省心,也更划算。
上次我帮朋友弄内测,那个应用因为带了一些内部调试的功能,TF审核过不了,没办法只能用独立企业签名,我们用自己刚申请的最新苹果开发者账号导出P12,给正规渠道签好,我安装的时候,还是走老流程,下载完去设置找信任,这次因为我熟悉了,很快就找到了入口,装完之后用着也很流畅,这么久了也没掉过,比之前的共享签名好太多。还有一次我导出P12的时候忘了设的密码,服务商那边解压不了证书,我又重新去后台生成了一遍,折腾了小半天,后来我每次导出都会把密码记下来,就再也没出过这个问题。还有一次超级签名,一开始图省事用了服务商的共享号,没几天号就被封了,所有装过的应用都掉签了,我们又换了自己的账号重新做,就再也没出过问题,所以真的,自己的证书自己握着,比什么都稳,哪怕多花一点时间精力弄,也比天天出问题折腾强。这段时间用下来,其实只要选对了方式,苹果签名也没有大家说的那么麻烦,无非就是多踩两次坑,摸清楚规律之后,就能找到适合自己的稳定方式,不用天天为打不开应用发愁。