我平时喜欢捣鼓点小工具,之前自己写了个记录日常运动的小应用,本来想装到自己手机上随手用,哪想到苹果系统不允许未签名的应用直接安装,折腾了好一阵子才接触到各种各样的苹果签名,这大半年走了不少弯路,也摸出了不少实用的经验,都是作为普通测试用户的真实感受。
最开始我想的是直接上架AppStore,交了开发者年费,按照要求填了各种资料提交审核,结果因为应用允许用户自定义导入本地运动数据,连着被打回两次,说不符合平台规范,年费也退不出来,急着用的我只能转去找第三方签名。第一次试的是网上说的一键H5封装,当时看着宣传说免费又方便,就抱着试试的心态把自己的IPA包传了上去,没一会儿就生成了安装链接。我用 Safari 打开链接点了安装,没几秒钟图标就出现在手机桌面,我开心地点开,结果弹出提示说未受信任的开发者,根本打不开。那时候我完全不懂流程,对着屏幕愣了半天,才去搜教程找信任证书的入口,那时候我用的新系统,找了半天才发现入口藏在设置的通用栏里,点开VPN与设备管理,才能看到对应的描述文件,点进去之后还要输入手机锁屏密码确认,操作完才能信任打开。后来帮长辈装的时候才发现,老系统的入口位置不一样,又重新找了好久,这个小问题我后来遇到好多次,每次换了新手机或者更新完系统,都要重新找一遍入口,折腾好半天。
H5封装好景不长,没几天就打不开了,图标直接变灰,点上去没有任何反应,问了人才知道这就是掉签了,原来H5封装本质就是套个壳用企业签名,掉签了自然就用不了。我这才开始正经了解企业签名,最早图便宜找了那种报价很低的共享企业签名,装上之后和H5封装的流程差不多,也是发链接,safari下载,再去设置信任证书,流程倒是不复杂,就是掉签掉的让人心态崩溃。有次出门在外正好要用应用记录训练重量,掏出来手机发现打不开,急得我满头汗,找客服补签等了大半天都没回应,最后只能记在别的地方,回去补签完还要重新手动录进去,特别折腾。那时候我才明白为什么大家都在关注ios企业签名掉签率的问题,原来贪便宜用共享签名,掉签率真的高到离谱,隔三差五就出问题。
后来听圈内的朋友说,想要稳定就要用独立签名,还要自己保管P12证书,我那时候不懂P12是什么,问了商家才明白,P12就是存着证书信息的加密文件,用独立证书的时候,证书只有我自己用,不会和大量别人的应用共享,苹果很难检测到,自然掉签率就低很多。我按照要求弄了自己的P12证书,商家帮我签好之后,我特意把P12文件备份到了自己的云盘里,就怕出问题。这次用下来真的不一样,整整好几个月都没掉过签,打开也一直流畅,就算后来偶尔掉一次,找商家重新用我的P12签一下就行,不用重新传包,十几分钟就好了,也不用我重新安装,数据都保留着,比之前共享的不知道方便多少。我之前吃过一次亏,最早弄P12的时候没想着自己备份,全存在商家那里,后来商家联系不上了,我的P12也找不回来,只能重新花钱弄证书,从那之后我不管什么情况都会自己存一份备份,就再也没出过这种问题。
掉签之后我也摸索出来不少解决办法,不同的签名类型解决方式也不一样,如果是共享企业签名掉签,只能找商家补签,重新下载安装,这时候一定要提前备份应用数据,不然重新安装之后原来的数据都会丢,我之前丢过半个多月的训练记录,心疼了好久,现在每次补签之前都会先做好备份。如果是带自己P12的独立企业签名掉签,一般都是苹果临时抽查到证书,只要重新用P12签名就行,大部分情况不用重新安装,也不会丢数据,比共享签名方便太多。如果是超级签名掉签,一般都是账号被苹果检测到封禁了,只能换账号重新签,重新下载,也要记得备份数据。TF签名基本很少掉签,除非自己删掉了TestFlight,重新装一下就好,很少出问题。
用完企业签名之后,我也试过别的类型的签名,最早试的是超级签名,超级签名最让我惊喜的就是不用信任证书,点完安装链接之后直接就能打开,不用再去设置里面找半天入口,对新手太友好了。但是超级签名也有问题,它是用个人开发者账号签名,每个账号能支持的设备数量有限,我当时拉了几个朋友一起用,本来觉得够,结果后来慢慢人多了,新的设备就装不上了,而且超级签名按下载次数收费,我换了新手机重新下载也要扣费,算下来成本比独立企业签名还要高,而且我之前遇到过商家把同一个账号分给好几个人用,我们的名额早早被占完,根本用不了,所以超级签名适合几个人小范围用,人多了真的不划算。
再后来我又试了TF签名,也就是用苹果官方的TestFlight测试渠道安装,TF签名的流程也很简单,拿到链接之后点进去会跳转到TestFlight应用,先下载官方的TestFlight,再找到对应的应用安装就行,也不用信任证书,直接就能打开。我用了这么久,TF签名是我见过最稳定的,从来没掉过签,因为是苹果官方的测试渠道,根本不会封,就算出问题也是小问题,重新点一下链接就能解决,数据也不会丢。唯一的缺点就是TF也需要审核,虽然比AppStore审核松很多,但还是会有被拒的可能,我第一次提交也被卡了,改了一点内容之后才过,而且每次更新版本都要重新审核,要等一段时间,不像企业签名改完就能签好发出去,所以我一般是版本稳定之后放到TF,测试新功能的时候还是用企业签名,灵活很多。
至于H5封装,我后来就很少用了,本质就是套壳的网页,离线用不了,打开也卡,很多原生功能实现不了,只适合刚做出来简单试试水,长期用真的不如原生IPA签名好用。
我也试过不同渠道的签名服务,有淘宝上的小商家,有朋友圈的个人代理,也有专门做签名服务的平台,感受差别真的很大。淘宝上那种报价特别低的,基本都是共享签名,掉签率高不说,客服还经常半天不回,补签要等很久,出了问题找不到人解决。朋友圈的个人代理很多都是二道贩子,赚差价不说,出了问题就把你推给上家,来回踢皮球,有时候甚至直接联系不上,钱打了水漂。专门做签名的平台虽然价格比小商家高一点,但是售后有保障,掉签了补签快,有问题也会一步步教你怎么弄,用着省心很多,我后来就固定在一个平台用了,很少再换。
这么久用下来,我也摸出来了不少让签名稳定流畅的方法,其实最关键的就是不要贪便宜,选适合自己的签名类型。如果只是几个人小范围测试用,能接受按下载收费,选独享账号的超级签名就挺方便,不用折腾信任证书,打开就能用。如果能过审核,人也不算特别多,一定要优先选TF签名,官方渠道真的太稳了,几乎不会掉签,用着特别省心,我那个放在TF的稳定版本用了很久,从来没出问题。如果需要频繁更新版本,或者内容没办法过TF和AppStore的审核,那就选带自己P12的独立企业签名,一定不要用共享签名,共享签名一个证书堆了太多应用,苹果一检测就封,掉签率高到离谱,用自己独立的P12证书,只签自己的几个应用,苹果根本不会注意到,掉签率低很多,而且P12自己备份好,就算换商家也能接着用,不会被绑死在一家,灵活很多。
后来我改了应用的内容,去掉了违规的部分,再一次提交AppStore上架,这次居然过了,上架之后确实方便,用户直接从AppStore搜索就能下载,不用弄任何签名相关的操作,也永远不会掉签,但是缺点也很明显,审核太严格,更新个小功能也要等审核,每年还要交年费,对于我们这种不盈利的小工具来说,成本确实不低,而且很多想加的功能怕审核不通过,不敢加,所以我现在的流程就是,新功能开发完先用独立企业签名内测,朋友们测完没问题了再放到TF让更多人测,最后稳定了再更新到AppStore,整个流程走下来很少出问题,就算出点小问题也知道怎么解决,不用像最开始那样慌慌张张的。
前阵子我更新了一个跨设备同步功能,改完代码直接用企业签名签好,发给内测的朋友当天就用上了,要是等AppStore审核,不知道要等多久,这就是签名最大的好处,灵活方便,适合小团队或者个人开发者测试用,不用受上架的各种限制。我之前走了那么多弯路,都是因为一开始不懂,总想找便宜的,没想到最后花的钱更多,还折腾人,现在选对了方式,用着真的很舒服,从来不会因为掉签什么的闹心,就算偶尔出点小问题,也能很快解决。现在我身边有朋友做小应用需要签名,我都会把这些经验告诉他们,让他们不要走我走过的老路,选稳定的方式,省得折腾。