我是做本地经销商私域工具创业的,APP开发完第一个头疼的事儿就是内测。 一开始啥都不懂,满脑子想的都是先上AppStore上架,光明正大给用户用。 结果连着审了三次,每次都被拒,说我们工具的内部渠道管理功能属于未公开功能,不符合上架规范,修改两次还是不行,索性放弃上架,转头研究内测签名这条路。
最开始走的是自己弄IPA签名的野路子,找朋友借了一个个人苹果开发者账号,对着教程一步步捣鼓。 那时候才弄明白整个内测流程其实说复杂也不复杂:开发完导出IPA安装包,添加测试设备的UDID到开发者后台,生成描述文件和P12证书,然后给IPA签名,最后发链接给用户下载安装。 说起来简单,真操作起来全是坑。
第一个坑就是设备管理。 最早我自己签完包,用户下载完之后打开,全弹“不受信任开发者”,一个个来问我怎么回事。 那时候我也不懂,翻了半天才知道要去设置里找通用,进VPN与设备管理页面手动信任证书。 二十多个内测用户,我挨个发截图教程,有的用户年纪大,找不到入口,我还得打视频电话一步一步教,一上午啥都没干,光教怎么装APP了。
后来内测用户多了,才慢慢了解到TF签名和超级签名两种主流的内测方式,也分别用了挺长时间,感受差别真的很大。 最早先用的TF签名,毕竟是苹果官方TestFlight的渠道,一开始觉得肯定稳。 用了一段时间发现,TF确实掉签少,但是毛病也不少:每次更版本都要等TF审核,快的话三五个小时,慢的时候遇上审核忙,要等一两天,我们那时候每周更两三次测试版,等审核都能把人急死。 而且TF名额有限制,一开始只有一千个,我们虽然用不了那么多,但是有个事儿给我留下的印象太深了:我们有个核心大经销商,手机一直用的iOS12,懒得升级系统,TF下载的时候直接弹不兼容,安装三次都失败。 那时候人家都交了代理费了,就因为装不上APP说要退,我急得团团转,问了圈做签名的朋友,才知道超级签名兼容旧系统,很多老版本iOS都能支持,最低甚至能到iOS9,我赶紧找平台做了超级签名,发链接给对方,人家点一下直接装上,打开用啥问题没有,这下才把这个单子稳住。
从那之后我就主要用超级签名做内部内测,也慢慢摸出了不少门道。 对比下来,TF适合那种要上架前公开测试,用户都是新系统的情况,我们这种B端内部用,好多用户不爱升级系统,超级签名真的合适太多。 而且超级签名自动获取用户UDID,不用我一个个收集UDID,再导进苹果开发者账号后台,省了不知道多少事儿。 之前自己签名的时候,收集UDID还要用户装个测UDID的APP,好多用户嫌麻烦,都不想弄,现在直接点链接就装,流程顺得不行。 当然也踩过坑,之前图便宜找过一个几十块钱终身用的平台,结果人家是用企业证书拆分出来的超级签名,不到一周全掉签,八十多个用户全都用不了,我急得连夜换平台,折腾到半夜才弄好,从那之后我就知道,稳定比那点差价重要多了,现在用的这个虽然贵点,一个月几百块,但是大半个月不掉签是常有的事,真的省心。
说到P12证书管理,我可真是踩过天大的坑。 最早自己弄苹果开发者账号的时候,生成P12证书之后,随便存在电脑桌面,后来换电脑做系统,直接给格掉了。 找不到P12只能重新生成,那时候不懂,直接重置了设备列表,结果之前添加的八十多个测试设备全没了,所有已经装好的APP全掉签,用户一个个找过来问怎么打不开,我那天本来要见投资人,结果硬生生在家坐了一下午,挨个收UDID,重新加设备,重新签名,饭都没吃上,投资人那边还差点迟到。 从那之后我就定了规矩,P12证书和对应描述文件必须做三重备份:本地加密文件夹存一份,私人加密云盘存一份,U盘备份一份,命名都写清楚哪个账号对应哪个证书,绝对不乱放。 添加设备的时候也只删确定不用的闲置设备,绝不乱重置列表,折腾这么久,再也没出过把证书弄丢把设备清光的事儿。
很多人问我防掉签的技巧,我玩了两年内测签名,总结出来的经验其实都是踩坑踩出来的,核心就是求稳。 首先,P12证书绝对不能共用,很多人图方便,一个证书签好几个不同的APP,很容易被苹果检测到,掉签概率翻好几倍,我现在自己的证书就只签我自己的一个内测包,绝不给别人用,之前就是把P12借给一个开发朋友调包,结果他拿去签了别的违规包,没几天我的证书就被封了,全掉签,吃了大亏之后再也不敢借了。 其次,苹果开发者账号一定要用干净的、没被封过的个人账号,不要买那种便宜的二手账号,那种账号很多都被苹果标记过,用不了几天就出问题。 第三,不要超名额加设备,个人苹果开发者账号本来就只有100个测试设备名额,非要挤一百二三十个,苹果很容易检测到异常,直接掉签。 第四,选超级签名一定要选用正规个人苹果开发者账号做的,不要选那种用企业证书拆分的便宜货,企业证书一被封,全窝端,哭都没地方哭。 第五,IPA包本身也要合规,就算是内测,也不要加违规内容,不然牵连证书,掉签都是轻的,直接封账号就麻烦了。
现在我跑内测流程已经熟得不能再熟了,不管是原生开发的包还是H5封装的包,导出IPA之后直接上传到平台,选超级签名,十来分钟就能生成下载链接,发出去用户自己装就行。 设备管理也不用我弄excel记了,超级签名后台直接能看到所有安装过的设备,哪些是闲置的,直接删掉腾名额,比我之前自己在苹果开发者后台管方便一万倍,之前个人账号一年才能重置一次设备列表,加错了想删都删不了,只能白白占名额,现在随时删随时加,太灵活了。
之前我们为了快速迭代,还做过H5封装成IPA的测试版,就是把已经做好的H5工具直接封装成APP,省开发时间,封装完照样要IPA签名才能安装,我用超级签名签完,用到现在都没掉过,稳定得很,就算是旧系统的用户,装起来也一点问题没有。 其实想想,我们创业本来就是把钱花在刀刃上,一开始不想花太多精力折腾AppStore上架,也不符合上架要求,做内部内测用签名真的是性价比最高的选择。
这两年折腾下来,最大的感受就是,内测这件事,稳定省心比什么都重要。 我们做的是B端工具,经销商天天要开单查库存,要是三天两头掉签,今天打不开明天装不上,用户对我们的信任直接就没了,之前踩坑的时候,我一天能接十几个问为什么打不开的微信电话,产品开发的时间全被占了,现在换了稳定的超级签名,大半个月都没人找我问签名的问题,我能安安心心改产品跑业务,这才是创业该有的样子。
之前还有人问我,为什么不一直用企业签名,其实企业签名现在掉签概率太高了,动不动就掉,大公司用得起还能接受,我们小创业公司真耗不起那个时间折腾。 超级签名只要选对平台,真的稳定太多,加上超级签名兼容旧系统,能覆盖我们所有的用户,不管用户用的是新系统还是用了三四年的旧手机,都能装上用,这点真的太香了。
要说现在还有什么小问题,也就是偶尔个别用户还是找不到设备管理的信任入口,我存了一份现成的图文教程,发过去就能自己搞定,别的真没什么大问题。 从最开始啥都不懂,天天踩坑,到现在流程顺顺当当,不用花什么精力,这条路走下来,也算摸透了苹果内测签名的那点事儿,选对适合自己的方式,真的能省好多心,把精力放在真正重要的产品和业务上,比什么都强。