上个月发小捣鼓了大半年,做了个专门给我们本地吃货整理商家隐藏优惠券的小工具,还没到上线阶段,拉了我们一群常一起吃饭的朋友当内测用户,让我帮他测测bug,顺道试试能不能正常用。我一开始以为,不上AppStore根本装不了苹果端,结果他说现在苹果这边不上架也能装,靠各种签名就能实现,我这大半个月跟着他挨个试了所有能找到的签名方式,踩了一箩筐的坑,也摸出了不少能稳定用的门道,今天就聊聊我作为一个普通测试用户的真实感受。
第一次他给我发了安装链接,我点了之后提示安装,等了几秒桌面就出现了app图标,我兴冲冲点开,结果直接弹出一个灰框,说无法验证此应用程序,我当时还以为是我手机出问题了,重启了两次还是不行,赶紧找他问怎么回事,他才笑着说忘了告诉我要信任证书,苹果对这种不是AppStore装的app,默认都是不让开的,得手动去设置里给证书授权。我按照他说的步骤找,一开始找了半天没找到,旧版本iOS是在设置通用里的描述文件菜单,我刚更新了最新的iOS系统,入口早就改了,合并到VPN与设备管理里面了,我翻了好久才找到那个对应开发者的证书,点进去点信任,又弹出来一个系统提示说会不会有风险,我咬咬牙点了确认,退出来再点开app,终于正常进去了。那时候我还不知道,这只是我折腾签名之路的开始,没过多久就出问题了。
用了些日子,那天我和同事下班约了去商圈吃火锅,出门前我还打开app看了团购券,走到店门口掏手机想扫码用券,结果点了app图标直接闪退,再点还是灰屏,根本进不去,我站在门口尴尬得不行,同事都笑我怎么关键时刻掉链子。我赶紧给发小发消息,他说应该是掉签了,他找的这个签名商是共享证书,便宜是便宜,但是容易掉。那时候我才第一次知道什么是掉签,什么是P12证书。发小跟我解释,P12就是存着苹果开发证书私钥的文件,做企业签名离不开这个,共享证书就是好多不同的开发者共用同一个P12同一个证书,只要其中有一个人的app违规被苹果查到,整个证书都会被封,所有用这个证书签过的app都会掉签,全都用不了。独立P12就不一样了,一个证书对应一个或者少数几个app,P12也在开发者自己手里,不会给别人乱用,只要自己的app不违规,基本不会被牵连掉签。他这次就是贪便宜,找了价位很低的共享签名,没想到掉这么快。
那次掉签之后,我们试了好几种解决办法,首先就是找原来的签名商补签,那个签名商说补签要排队,等了很久才给我们弄好,补签完还要删掉原来的app重新下载,我那时候已经把我收藏的好几个常去的商家存在app本地了,删完重下所有数据都没了,我又重新找了半天,烦得不行。后来换了正规签名商之后才知道,现在很多正规渠道都支持覆盖补签,不用删掉原来的app,直接装就能覆盖,本地数据也能保住,这点真的省好多事。除了补签,那次我们还临时弄了个H5封装的版本顶了两天,就是把原来的网页套了个壳签了名,我装完用了之后才知道H5封装有多难用,打开慢不说,点返回要卡好几秒,调用定位权限半天弹不出来,我开着定位权限它都说我没开,根本找不到附近的商家,而且有时候点进去直接显示网页无法打开,说是被系统拦截了,体验真的太差了,也就临时救急能用,长期用根本受不了。
掉签之后发小说换别的签名试试,先试了大家说的超级签名,超级签名说是用个人开发者账号做的,安装不用手动信任证书,我装的时候确实,点了链接之后安装完,直接就能点开进app,省了找设置信任的步骤,对小白用户真的友好很多。一开始用着也挺稳,我以为这下没问题了,结果用了些日子,又打不开了,发小去问,说是这个个人开发者账号被苹果封了,因为这个渠道给很多app签,下载量太大,触发了苹果的风控机制,而且超级签名是按下载量收费的,我们一群人内测,花的钱比独立企业签名还贵,算下来太不划算,还有一些不良渠道用的是黑卡注册的开发者账号,更容易被封,说不定哪天就用不了,所以试了一次我们就放弃了。
后来我们又试了TF签名,也就是苹果官方的TestFlight内测签名,这个安装要先在AppStore下个TestFlight,然后点发的邀请链接,跳转到TestFlight里面才能下载app。我一开始装的时候,因为苹果服务器在外面,我家那阵网不好,刷了好几次才刷出下载按钮,等了好久才装好。装好之后用起来确实稳,不用信任证书,直接就能开,而且是苹果官方的,基本不会掉签,我用了很久,一次都没出过问题,唯一的不好就是每次打开app,顶部都会有一个TestFlight测试版的横幅,有点挡搜索栏,用着总觉得别扭,而且TestFlight的内测版本有使用期限,到了时间就得重新邀请重新下载,虽然数据不会丢,但是也挺麻烦的。还有就是好多人手机内存小,还要多装一个TestFlight,占不少内存,很多朋友都嫌麻烦不愿意装。
那段时间我们也动过上架AppStore的心思,想着上去了之后就一劳永逸,用户也放心,结果折腾了很久,还是没上去,首先要交年费,然后就是审核太严了,我们这个app里面有跳转商家页面的导流,第一次审核说我们内容涉及违规导流,打回来改,改完之后又说我们功能不够完善,还有隐私政策写的不规范,又打回来,来来回回好几次,还是没通过,发小都快放弃了,说等我们内测完,功能改完善了再考虑上架吧,现在内测阶段,折腾上架太费时间精力,还不一定能过,不如先找稳定的签名用着。
折腾了这么一圈下来,我们最后还是选回了企业签名,只是这次找了正规的渠道,做了独立P12的企业签名,也摸出了不少ios企业签名防封稳签的方法,首先第一点就是绝对不能贪便宜用共享P12共享证书,一定要用独立P12,而且P12要放在自己手里,不能留在签名商那里,很多不良签名商说给你做独立签名,其实偷偷拿你的P12给别的app签名,还是会连累你掉签,我们现在是P12自己存在云盘里,每次需要签名才给渠道,签完就收回来,自己改了密码,只有我们能用到,不会外流,就不会被别的app牵连。第二点就是一定要找正规的大渠道签名,不要找个人私下做签名的,我朋友之前找过一个个人卖家,比大渠道便宜不少,结果掉签之后人直接联系不上了,钱也打了水漂,正规渠道就算掉签,补签也快,还有售后,不会找不到人。第三点就是app本身一定要合规,不要做违规内容,苹果现在查的很严,你本身做违规内容,再好的证书也防不住封,我们就是正常的工具app,没有违规内容,自然很少被查。第四点就是不要大量分发,一下子装很多人,苹果看到流量异常,肯定会触发风控,封你证书,我们就是一群内测用户,量很小,所以一直很稳。还有就是我们留了后手,弄了个TF签名当备用,要是企业签名真的出问题掉签了,直接转TF,不用耽误使用,这么久下来,一直用的很稳定流畅,和AppStore下载的app没什么区别,打开秒开,从来没闪退过,也没掉过签。
我之前也遇到过不少细碎的小问题,比如说装企业签名的时候,因为我之前手机装了一个屏蔽广告的描述文件,和企业证书冲突,弄完信任还是打不开,折腾了半天,后来还是发小提醒我,把没用的描述文件删掉,重启了手机才好。还有一次我更新app,签名商给我发的安装包我下错了,覆盖安装完数据没了,后来我就学乖了,每次更新之前先把数据备份一下,就不会出问题了。还有就是超级签名那次,我手机是新更新的iOS系统,那个小渠道的签名工具不兼容新系统,装完一直闪退,换了好几个安装包都不行,最后只能放弃,大渠道就不会有这种问题,都会提前适配新系统。
现在我每天都用这个app找优惠券,打开从来没出过问题,身边的朋友内测也都说用着很顺,原来只要选对方法,做好ios企业签名防封,企业签名真的是内测阶段最划算最好用的方式,折腾了这么多坑,也算是实打实摸透了不同签名的使用感受,找对方式,就能用的稳定又省心,不用整天担惊受怕掉签打不开,影响正常使用。