我平时喜欢捣鼓点小工具,给身边一起做事的朋友们用,最开始想着做出来直接上架官方商店让大家下载就好,谁知道提交了好几次都通不过审核,一会说资质不对,一会说功能不符合要求,来回折腾了好久也没进展,没办法才开始琢磨找苹果签名来用,这一路踩了不少坑,也试过各种各样的签名方式,也算攒了不少实打实的感受。

最开始听人说H5封装最简单,不用找什么签名,找个在线平台就能自己打包,我就先试了这个。打包确实快,没一会就弄好了,安装的时候也要点确认,之后还要去设置里信任相关的描述文件,那时候我还不知道入口改了位置,找了半天才找到地方,告诉朋友们之后,好多人也说找不到,我还专门截了图一步步做教程,折腾了好久才帮大部分人装上。结果用了没几天,就出问题了,先是微信直接把域名给拦截了,点进去就显示不安全不让进,换了域名之后没几天又被拦,而且套壳的H5本来流畅度就不行,点哪都卡,没信号的时候根本打不开,朋友们出去在外没网的时候想用都用不了,没多长时间大家都嫌麻烦不用了,我也就放弃了H5封装,知道这个只适合临时凑合用,不能长期当正经APP用。

之后开始正经找签名,最先试的是企业签名,听人说企业签名便宜,适合我们这种小圈子用,我那时候没经验,贪便宜选了价位很低的共享签名,安装流程其实和之前H5封装差不多,下载好安装包之后,手机会弹出未受信任的开发者提示,还是要去设置里找通用,再进VPN与设备管理,找到对应的企业证书,点信任之后才能打开APP。那时候好多用新系统的朋友还是找不到入口,我又重新做了一遍教程,天天对着手机给大家答疑,那段时间真的挺折腾的。最开始用的时候感觉还不错,打开流畅,也没什么问题,谁知道没多长时间就出问题了,所有人的APP点开都直接闪退,根本进不去,问了商家才知道是掉签了,证书被苹果封了。那时候我才知道掉签是怎么回事,问解决办法,商家说重新给我签,让我重新发链接给大家,让所有人删掉原来的安装包重新装。我没办法,只能一个个通知,折腾了大半天,才弄好,结果没几天又掉签了,我那时候才明白,共享签名就是好多人共用一个证书,只要有一个人签了违规的APP,整个证书都会被封,所有人跟着掉签,真的太不稳定了。后来咬咬牙换了独立的企业签名,贵了不少,但是证书只有我自己用,稳定多了,很长时间才掉一次,比之前共享的省心太多了。

那段时间我想着自己弄签名会更稳定,就找了渠道弄了P12证书,自己学着签名。我那时候才知道P12就是包含证书和密钥的文件,不管是个人开发者还是企业开发者,都能导出P12来用,自己拿着证书,就不会被别人乱用来签其他APP,掉签的概率自然低很多。谁知道我刚弄的时候就出问题了,导出的时候没弄对,只导出了证书没带密钥,结果每次签名都失败,折腾了好几个小时才弄明白,原来要从钥匙串里一起导出证书和对应的私钥,才是能用的P12。弄好之后,自己签名确实挺方便的,想什么时候签就什么时候签,不用等着商家给弄,但是也要小心保管,不能随便泄露,不然被别人拿去用了签违规APP,证书一样会被封,我现在都把P12存在加密的云盘里,不敢随便发给别人,自己用的时候才取出来,用了这么久也没出什么问题。

后来朋友给我推荐超级签名,说超级签名比企业签名好用,很多都带静默更新,我那时候还不知道静默更新有多香,试了之后才发现真的解决了我好多麻烦。超级签名是用个人开发者账号签的,安装流程比企业签名简单太多,直接点链接下载,下载完直接就能打开,根本不用去设置里找什么证书点信任,对不懂技术的朋友太友好了,我再也不用天天给大家找入口做教程了,省了不知道多少时间。最让我惊喜的就是超级ios签名静默更新,原来我更版本,不管是企业签名还是什么,都要重新签名重新发链接,一个个通知大家删掉重下,好多人嫌麻烦不更,改完的bug也用不上,还老是有人问怎么更新,真的头大。有了静默更新之后,我改完bug传上去,后台更完签名,大家下次打开APP自动就更好了,根本不用手动操作,也不用我挨个通知,太省心了。

当然超级签名我也踩过坑,最开始找的小商家,用的共享额度,一下子好多人安装之后,额度就用完了,链接直接打不开了,后来换了自己用个人账号弄的,额度自己用,就没再出这个问题。掉签我也遇到过一次,那时候账号登的设备太多,被苹果判定异常,封了证书,我本来以为又要挨个通知大家重新安装,结果因为开了静默更新,我在后台换好证书重新签完,大家打开APP自己就更新好了,根本没人找我反映问题,连闪退都没遇到,真的太稳了。掉签之后我也总结了办法,不同的签名掉签解决办法不一样,企业签名掉了只能重新签重新发安装包,让用户重新装,超级签名带静默更新的话,后台弄好用户根本不用动,TF签名基本不会掉,真掉了重新交个链接就行,H5掉了一般是域名被封,换域名就好,但是本来就不稳,换了也用不长。

之后我也试过TF签名,就是苹果官方的TestFlight测试签名,说是官方渠道,绝对稳定不会掉签,我弄了一个试了试,安装流程就是要先装TestFlight这个官方APP,然后点链接跳转到里面下载我的工具,因为是官方的,所以确实不用信任证书,也不会随便掉,我用了很长时间都没出问题,但是缺点也很明显,更新版本要重新提交审核,每次改个小bug都要等好几天才能通过,有时候急着用真的熬死人,而且还要用户多装一个APP,占空间,好多朋友觉得麻烦,不愿意装,好些人因为这个直接不用了,所以TF虽然稳定,但是对我们这种小圈子测试的工具来说,体验还是不够好,只适合不怎么更版本,能等审核的项目。

再后来我调整了APP内容,找朋友帮忙弄了资质,重新提交上架了AppStore,上架之后确实正规,用户直接在商店搜就能下载,不用折腾任何签名信任,也不会掉签,信任度也高,但是限制真的太多,每年要交年费不说,改任何一点东西都要重新审核,动不动就因为莫名其妙的原因被拒,来回改好久才能过,要是哪天被下架了,所有人都用不了,所以我现在测试版本还是用签名,只有改稳定了才会上架到AppStore,签名才是测试阶段最实用的方式。

踩了这么多坑之后,我也摸出了让签名稳定流畅的法子,首先就是不能贪便宜,不要选那种价位很低的共享签名,共用证书太容易掉签了,折腾来折腾去反而更麻烦。如果是小圈子用,优先选带静默更新的超级签名,最好是自己准备P12证书,自己掌握账号,不要用共享额度的,这样不会因为别人的问题掉签,掉签了静默更新也能自动处理,用户根本没感知,安装也简单,流畅度和上架的APP没区别,用着特别省心。如果用户比较多,那可以选独立的企业签名,找大渠道靠谱商家的,虽然贵一点,但是稳定很多,掉签频率低很多。要是想要绝对稳定,不怕麻烦,能接受更新慢,那选TF签名肯定没错,苹果官方背书,基本不会出问题。测试完确定要放出去用,再上架AppStore就好,这样一步步来最稳妥。

我之前还遇到过挺多小问题,比如找小商家弄签名,对方把我的安装包和证书都泄露出去,拿去签别的东西,结果没多长时间账号就被封了,掉签之后找不到人解决,钱也打了水漂,所以找渠道一定要找靠谱的,不能只看价格便宜。还有最开始导出P12的时候,弄不对格式,折腾了大半天都签不了,后来问了好多人才弄明白,原来密钥一定要一起导出,不然根本用不了,这些小坑踩过之后才知道怎么避开。还有一次企业签名掉签,刚好赶上大家集体要用工具,所有人都打不开,我急得满头汗找商家,商家半天不回,过了好久才重新签好,那时候好多人都抱怨,从那之后我就下定决心一定要找够稳定的方式,再也不想经历这种慌手慌脚的场面。

现在我用带静默更新的超级签名已经很长时间了,整体感受真的比之前用过的所有方式都好,不用天天答疑,不用怕掉签折腾用户,更新也方便,流畅度也够,完全满足我们小圈子测试使用的需求,偶尔出点小问题,后台很快就能解决,用户根本感知不到,一路踩坑过来,终于找到适合自己的稳定方式,也算是挺不容易的。原来我觉得签名就是个凑合用的临时办法,现在发现选对了方式,稳定度和体验一点不比上架的差,完全能满足日常测试和小范围使用的需求,也不用受官方审核的各种限制,改功能加内容都很自由,对我们这种业余做工具的人来说,真的太方便了。