我就是个普通的APP开发测试爱好者,平时自己写点小工具,偶尔也帮朋友测试他们还没上线的项目,前前后后踩了不知道多少苹果签名的坑,各种类型的签名都试过,今天就聊聊我实实在在的使用感受,给和我一样刚接触的朋友提个醒。
最早的时候,我做好了第一个个人记账小工具,想着装到自己手机上日常用,最开始当然想走正规的AppStore上架,毕竟上架之后所有人都能下,也稳定。我按照教程申请了苹果开发者账号,交了年费,一遍一遍改包,改隐私声明,改功能描述,前前后后提交了三次,每次都被打回来,要么说我功能和现有应用重复没有特色,要么说我隐私说明不清晰,折腾了快一个月,最后还是没通过,那时候真的挺挫败的,就想着有没有别的办法能把APP装到苹果手机上,这才开始接触各种苹果签名。
我第一个试的是免费的H5封装,当时在论坛看到有人发免费封装的帖子,说不用花一分钱就能装好,我想着反正免费试试不吃亏,就把安装包发过去了,半天之后对方给了我一个安装链接,我按照说的用Safari打开,点了安装,没过几十秒桌面就出了APP图标,我那时候还挺开心,觉得这么简单,结果点图标准备打开的时候,直接弹出了“未受信任的企业开发者”的提示,根本进不去。我那时候连什么是信任证书都不知道,搜了半个多小时的教程才搞清楚流程,原来这种第三方签名的APP,苹果默认不认可,需要手动去设置里信任对应的开发者证书才行。我那时候用的还是iOS14系统,找了半天才在设置的通用里找到描述文件与设备管理,翻了半天找到了对应的证书,点进去点信任,还得输一遍自己的锁屏密码确认,弄完之后退回到桌面,再点APP才顺利打开。那时候体验真的太差了,APP是封装的,不是原生的,打开要加载半天,切个后台再回来就要重新加载,用了才三天,某天打开直接图标灰了,提示无法验证应用,掉签了。我再找那个给我封装的人,人家早就不回消息了,连补签都找不到地方,第一次用签名就给我留下了挺差的印象,也知道了免费的坑真的多。
后来听圈内的朋友说企业签名是测试用的主流,我就找了个口碑还可以的签名商咨询,人家说企业签名分共享版和独立版,共享版几十块钱一个月很便宜,独立版贵一些,但是稳定。我那时候想着先试试水,就买了共享版,安装流程其实和之前H5封装差不多,也是给链接,Safari下载,然后去设置里信任证书,这次我轻车熟路,没几分钟就弄好了。刚用的时候体验比H5封装好太多,毕竟是原生包,流畅不卡,打开速度也快,我那时候还觉得终于找对路子了,结果用了不到一周,某天早上起床准备打开APP记个账,发现直接闪退,图标变灰,又是掉签。找商家,商家说共享版就是很多APP共用一张企业证书,只要其中有一个APP违规被苹果查到,整个证书的所有APP都会掉,他们可以免费补签,但是要重新下载安装。我那时候已经记了大半个月的账,数据都存在本地,重新安装就全没了,当时真的欲哭无泪,丢了数据不说,还耽误我用,后来咬咬牙加钱换了独立版企业签名,商家说独立版就是一张证书只放我几个APP,不会混别的乱七八糟的应用,掉签概率低很多。换了之后确实稳了,前前后后用了两个多月才掉过一次,掉了之后商家几个小时就补好了,也不用我重新下载,直接就能打开,体验好了很多。
这之后我自己慢慢了解了一些知识,知道企业签名其实用的是企业开发者账号的P12证书,我后来托朋友申请到了企业开发者账号,就自己导出了P12证书带给签名商,让他们用我的P12给我签名。这里说一下P12证书的使用感受,自己带P12真的稳太多,一来控制权完全在自己手里,就算这个签名商服务不好,我随时可以把P12拿走换别家,不会出现签名商跑路我就用不了的情况,二来自己的P12只放我自己的APP,不会有别的违规APP牵累我的证书,被苹果封号的概率低很多,当然导出P12的时候一定要记得设置强密码,我第一次导出的时候不懂,没设密码,结果签名商说不行,没有密码的P12不安全,容易被盗用,我又重新回去导出了一遍,折腾了小半天,后来才知道,要是P12被别人拿走,拿去签违规APP,被苹果查到之后我的整个证书都会被封,损失就大了。
用完企业签名,我又听人说超级签名稳定,就试了一段时间,超级签名是用个人开发者账号的,原理是把你的设备UDID加到账号里,然后给你签名,每个个人账号最多能绑一百台设备,所以按设备收费,我当时只有五台测试设备,算下来也不贵,就试了试。安装流程和企业签名不太一样,超级签名需要你先把每台设备的UDID发给商家,商家加到后台之后才能生成安装链接,我那时候不懂怎么查UDID,又折腾了半天,好不容易把UDID都发过去,生成链接下载,装好之后其实也要信任证书,流程和企业签名差不多。刚用的时候确实挺稳,半个多月没出问题,我那时候觉得超级签名比共享企业签名好太多,结果一个多月之后,某天突然全部设备都掉签了,问商家才知道,我那个APP因为有分享功能,被举报了,对应的个人开发者账号直接被苹果封了,账号一死所有签名都失效,而且超级签名掉签之后要重新换账号,重新加UDID,还要再收一次设备的费用,算下来比独立企业签名还贵,我试了一次之后就不想再用了,也就适合设备很少的短期测试,长期用真的不划算,我之前还碰到过UDID填错的情况,一个设备的UDID输错一位,结果安装了大半天一直提示无法验证,折腾了两个小时才找到问题,改完之后才好,现在想想都是乌龙。
再后来我就试了TF签名,也就是大家说的TestFlight签名,这也是今天要说的TF苹果签名安全建议,真的是我用过体验最好的测试用签名。TF是苹果官方的测试渠道,和那些第三方签名完全不一样,安装流程也很简单,商家帮你把APP上传到TestFlight之后,给你一个邀请链接,你用手机打开链接,会直接跳转到TestFlight应用,如果没装TestFlight的话,直接从AppStore下载一个就行了,装完之后点接受邀请就能直接下载安装你的APP了。最方便的是,TF是苹果官方认可的,根本不需要你手动去设置里信任证书,装完直接就能打开,省了好多事,我第一次装完就觉得太省心了。那稳定性呢?我这个TF签名的测试工具用了快半年了,从来没有掉过签,就算我更新系统,删了重新装也没问题,只要苹果不下架,就能一直用,最长可以用一年,到期了重新上传一下就好了,非常方便。说到TF苹果签名安全建议,我也踩过一点小坑,之前找过一个小商家做TF,价格比别人便宜很多,结果做好之后我发现APP里多了好多开屏广告,后来查了才知道,那个商家偷偷修改了我的安装包,插了广告,所以做TF签名一定要找正规的商家,确认不会修改你的原始安装包,另外就算TF是官方的,也不要签违规的APP,不然一样会被苹果下架,这些都是需要注意的。
说到掉签,我用了这么久,也总结了不少掉签后的解决办法,不同的签名掉签解决方式真的不一样,H5封装掉签基本找不到人补,能不用就不用;共享企业签名掉签,商家一般会免费补,但是都要重新下载,数据会丢,适合临时用不存数据的测试;独立企业签名掉签概率低,补签很多时候不需要重新安装,就算要重新装,提前备份数据也就没问题;超级签名掉签基本都是账号被封,要重新花钱换账号签,成本比较高;TF签名基本不会掉签,要是真的不能用了,大多是APP违规被下架,修改内容重新上传就好了。我还碰到过一种情况,就是手机系统更新之后,原来的信任证书被清空了,不是掉签,但是也打不开,这时候只要去设置里删掉原来的描述文件,重新信任一次就好了,不用重新下载,我之前碰到这个情况以为掉签了,折腾了好久才搞清楚,白白浪费了好多时间。
说了这么多,我也总结出不少能让签名稳定流畅的方法,都是踩坑踩出来的经验,首先就是能不用共享证书就别用,不管是什么签名,共享证书一堆APP挤在一起,总有违规的,很容易牵累你掉签,能做独立证书就做独立,自己能提供P12一定要自己带,控制权在自己手里,安全又稳定;其次就是能选官方渠道就选官方渠道,TF签名作为苹果官方的测试渠道,稳定性比所有第三方签名都好,只要你能接受安装前先装个TestFlight,根本不影响使用,省了好多天天担心掉签的麻烦;第三就是不要随便把签名链接分享给太多无关的人,下载量突然爆增,苹果很容易检测到异常,直接就会封证书掉签,我朋友之前把链接发到几百人的群里,一天几百次下载,第二天证书就没了,这个教训真的很深;最后就是不管你用的签名有多稳,一定要随时备份本地数据,我前前后后丢了两次数据,才养成了备份的习惯,真的出问题掉签了,重新安装也不会心疼数据。
现在我测试APP基本都是优先做TF签名,稳定省心,要是TF上不了就用自己带P12的独立企业签名,性价比和稳定性都不错,正式上线的时候再努力冲AppStore上架,毕竟上架之后才是最稳的,用户体验最好。这一路踩了这么多坑,也慢慢摸清楚了门道,其实苹果签名也没有那么复杂,选对渠道用对方法,就能一直稳定流畅使用,不用天天提心吊胆等掉签,只要多注意安全问题,找正规的服务商,就能省掉很多不必要的麻烦,毕竟我们做测试就是为了省时间,找对适合自己的签名方式,才能把更多精力放在产品打磨上。