我最开始接触苹果签名,就是帮做开发的发小测试他做的一款日常记账小工具,那时候他刚毕业创业,还没攒够足够的精力和成本打磨产品上架AppStore,就只能先找签名做内测,我作为跟他从大学泡到现在的死党,天天拿我的iPhone试各种新版本,算下来前前后后折腾了快两年,市面上能见到的签名方式我几乎都用过,踩过的坑数都数不过来,也攒了一肚子实打实的使用感受。
最开始第一次装内测包,用的是企业签名,那时候我根本不懂什么是签名,发小给我发了一个网页链接,让我用自带的Safari打开,点页面上的安装按钮就行。我照着操作,没一会手机桌面就出来了APP的图标,我兴冲冲点进去,结果弹出一个“未受信任的企业级开发者”的提示,直接退了出来,我当时还吓了一跳,以为他给我发了什么病毒软件,赶紧给他打视频说你这东西把我手机搞坏了,他笑了半天,远程一步步教我找信任证书的入口。那时候我的手机还是老版本iOS,找这个入口找了快十分钟,后来系统更新,入口又变了位置,现在找的话是打开设置,点通用,再找到VPN与设备管理,进去就能看到对应企业开发者的证书,点一下信任,确认之后就能打开APP了。那时候我就觉得苹果真的太麻烦了,装个软件还要绕这么大弯,哪像安卓直接装就行,后来用的多了才知道,这都是苹果的封闭机制,没经过官方认可的APP,必须手动信任证书才能运行。那时候发小跟我讲,企业签名本质就是用企业开发者账号的P12证书给APP签名,P12证书就相当于开门的钥匙,有了这把钥匙,苹果手机才会允许这个APP安装运行,那时候他找了个小渠道做共享企业签名,说价格便宜,我们那时候也没经验,就选了这个,谁知道这就是噩梦的开始。
用了没半个月,我那天刚在外面测完离线记账的功能,攒了快一下午的测试数据,退出APP回了个消息再进来,就发现APP图标变灰了,点进去根本没反应,提示证书已失效,发小说这就是掉签了,证书被苹果封了。那是我第一次遇到掉签,问他怎么办,他说只能删掉旧的APP,重新给我签名发新链接安装,我当时听完整个人都懵了,我存了一下午的本地测试数据,删掉就全没了,坐在路边太阳晒着,我真想把手机扔了,吐槽这什么破签名,能不能靠谱点。从那之后,半个月掉了三次,每次掉签都要重新装,丢数据,折腾得我都不想帮他测了,催着他赶紧换个靠谱的方式。
后来我们换了超级签名,超级签名的流程比企业签名顺一点,发小让我先在网页上查到我手机的UDID,复制发给他,那边把我的UDID加到个人开发者账号的设备列表里,再重新签名生成安装链接,我打开链接安装,装完直接就能打开,不用再去设置里面找信任证书,当时我觉得这个比企业签名强太多了,用了快一个月都没掉,我还说这次总算找对了。结果好景不长,某天早上我醒过来打开APP,又灰了,又掉签了,发小去问签名渠道,才知道对方用的是共享的个人开发者账号,有人拿这个账号签了违规的APP,整个账号被苹果封了,上面所有签过的APP全掉了,要重新弄就得再花钱,而且超级签名是按下载量收费的,装一次收一次钱,前前后后我们十几个人装了十几次,花了不少冤枉钱,本来就是创业初期,每一分钱都要掰成两半花,这下更心疼了。
实在折腾不起掉签,发小说要不试试H5封装吧,就是把本来的原生APP套个壳,做成网页形式,直接加个桌面图标就能用,不用装原生APP,也不会掉签。我们当时想着反正没别的办法,试试就试试,刚开始用的时候确实觉得方便,点一下桌面图标就进,不用装,也不会灰,结果用了没一个星期问题就全出来了。我们这个记账工具要调用相机拍小票,还要调用本地相册存截图,还要推送提醒记账,H5封装调用相机慢得要死,点了拍照要等十几秒才能出来相机界面,网络稍微差一点就直接卡成白板,推送提醒根本收不到,好几次到了记账时间我没收到提醒,漏记了好多次,体验差到离谱,最后实在用不了,只用了一个星期就弃了,还是得回头找靠谱的签名方式。
也就是这个时候,我们接触到了TF签名也就是TestFlight,发小听圈子里的朋友说这个是苹果官方的内测方式,基本不会掉签,我们抱着试一试的心态弄了,没想到这一用就用到现在,体验真的好太多了。流程比之前所有签名都简单,发小把测试链接发我,我点开链接直接跳转到AppStore的TestFlight页面,我先下载这个官方的TestFlightAPP,之后回到链接点“接受测试”,就自动在TestFlight里面开始下载我们要测的APP了,下载完直接就能打开,不用找什么信任证书,也不用输UDID,整个流程一两分钟就能弄完,我第一次弄的时候都不敢相信,原来装内测包能这么简单。
刚开始弄TF的时候也遇到过小问题,第一次点接受测试的时候一直显示无法安装,我折腾了半天,最后才发现是我之前手机里装过TestFlight的测试版,和正式版冲突了,删掉旧的TestFlight重新下载就好了,就是个很小的设置问题,弄完就没事了。用了这么久,我从来没遇到过掉签,除非发小自己下架了测试版本,不然不管放多久,打开就能用,数据一直存在本地,从来没丢过,这是之前所有签名都比不了的。发小弄TF签名的时候也要用到P12证书,他打包导出安装包的时候,要用自己开发者账号的P12证书签名,再提交到苹果的App Store Connect后台,之前他不小心把P12证书的密码忘了,折腾了快一天才重新申请下来,差点把之前的开发配置都弄乱了,从那之后他就把P12证书备份到云盘,存好密码,再也不敢乱删了,他说不管是做签名还是上架AppStore,P12证书都是核心,丢了错了根本没法做,所以一定要保管好。
后来发小把产品打磨得差不多了,就提交上架AppStore了,上架之后当然是最稳定的,用户直接在AppStore搜索就能下载,更新自动更,根本不用折腾任何证书,也不会掉签,但是上架的过程真的太折腾了,来回被苹果打回了十几次,一会说功能不符合规范,一会说内容有风险,改了快两个月才通过,还要交每年的开发者年费,对于小开发者来说门槛真的挺高的,所以前期内测阶段根本不可能一开始就上架,还是得靠各种签名方式测试。
这段时间用下来,我作为一个普通测试用户,也摸清楚了不同签名渠道的真实感受,要说稳定流畅的方法,我第一个推的就是TF签名TestFlight,毕竟是苹果官方认可的内测方式,根本不会随便封证书掉签,流程简单,对用户友好,只要你的内测人数不超过一千,用这个真的是完美,成本还低,比那些乱七八糟的第三方签名靠谱太多。如果你的内测人数超过一千了,那选企业签名一定要选独立证书的,千万不要贪便宜选共享证书,共享证书一堆人共用,只要有一个人签了违规APP,整个证书就被封,所有人都掉签,折腾下来花的钱比独立证书还多,还耽误测试进度。超级签名适合临时用几天,小范围测试,长期用成本太高,而且只要账号出问题就全掉,不如TF稳定。H5封装就只适合不需要调用原生功能的展示类项目,但凡要用到手机硬件和推送,根本没法用。
要说掉签后的解决办法,我遇过这么多次掉签,也总结出经验了,不管是企业签名还是超级签名掉签,首先就是删掉已经灰掉的旧APP,然后找提供签名的渠道重新用新的证书签名,拿到新的链接重新安装,本地数据如果没备份的话基本上都会丢,所以最好的解决办法其实就是从一开始选不会掉签的方式,省得后面折腾。我之前也贪便宜找过个人签名贩子,掉签了直接找不到人,钱打了水漂,后来找正规的签名平台,虽然贵一点,但是掉签了能找得到人帮忙解决,省心太多。还有就是一定要保管好自己的P12证书,不要随便把P12给不认识的个人,之前发小圈子里就有开发者把P12给了贩子,结果贩子拿证书签了违规APP,最后开发者自己的账号都被封了,损失真的很大。
现在我帮发小测试新版本,一直都用TF签名,大半年了从来没出过什么大问题,偶尔有个小问题都是手机设置的小问题,调整一下就好,再也不用天天担心打开APP变成灰图标,辛苦攒的测试数据说没就没。作为普通用户,我其实不懂什么复杂的开发原理,我就想要装完APP能稳定打开,能正常用,更新方便,数据不丢,这点TF真的完全满足我,之前踩过的所有坑,到这里总算安定下来了,就算之后要上架AppStore,前期内测用TF也完全足够,真的是我用过的最省心的苹果签名方式。