我去年初拉了两个伙伴做社区团长工具创业,小团队没拿融资,每一分钱都要算着花,一开始没敢直接砸钱冲AppStore上架,打算先做内测验证需求,这一过程,踩了无数苹果签名的坑,也攒了一肚子实打实的经验。
最开始我连内测流程都摸不清,以为把代码打包成IPA就能给用户安装,结果苹果压根不让装未签名的包,这才知道第一步必须做IPA签名。 那时候我们为了省成本,是把做好的H5页面封装成IPA,花几百块找封装工具弄好安装包,接下来就是签名这道坎。 我一开始想,反正自己申请个苹果开发者账号不就能签名了? 个人账号一年也就688,不算贵,咬咬牙就买了。
申请完苹果开发者账号我才发现坑,个人账号最多只支持添加100台测试设备,我们当时找了两百多个团长做内测,一百个名额根本不够用。 更头疼的是设备管理,那时候不懂,要一个个让团长查UDID,我做了三四页的截图教程,还是有好多人不会弄,一个个教,收了三天才收齐一百个UDID,填到开发者后台,打包完签名,还有三个人填错了UDID,装不上,又要重新加重新签,折腾一个多星期才弄完,那段时间我对着表格眼睛都花了。
后来听圈内朋友说超级签名和TF签名能解决设备的问题,我就一个个试。 先说说我用这两种签名的真实感受。 最开始用的是第三方的超级签名,按设备收费,一个设备三块钱,不用我自己收UDID,用户点下载链接就能自动获取UDID完成签名,装上就能用,设备管理后台直接能看到所有激活设备,不用的可以删掉腾名额,比我自己用个人账号管理省心一百倍。 那时候找的是小服务商,便宜是便宜,就是不稳定,签完没三天就掉签,两百多个团长纷纷说打不开,我刚建的测试群,一下子炸锅,我急得一宿没睡,到处找补救方法,后来才知道小服务商都是共享证书,一个证书塞几百个包,只要有一个违规,整个证书都完蛋,无辜躺枪太常见。
后来换了头部服务商的超级签名,稳定是稳定了,就是每次更新版本都要找客服,赶上半夜改完bug要发版,客服根本找不到,急得团团转。 后来还是一个做签名分发的朋友提醒我,可以自己对接超级ios签名API,自己掌控所有流程,成本还能降一半,我就让开发花了一下午对接好接口,自己搭了个简单的分发页,从此再也不用等客服,什么时候想签名就什么时候传包,十分钟就能拿到下载链接,真的省心太多。
之后我们版本稳定了,要做大规模公测,我就试了TF签名。 TF签名是苹果官方的TestFlight测试,说实话稳定度真的没的说,几乎不会掉签,而且设备名额最多能到一万个,比个人账号一百个限额强太多,设备管理也更省心,用户只要装个TestFlight客户端,点邀请链接就能直接安装,连UDID都不用碰,我后台只要看下载量就行,不用管任何操作。 但TF也有小问题,就是审核太严太慢,我们每次更新版本都要等苹果审核,快的话一天,慢的话三四天,有一次我们加了测试支付功能,直接被打回,说涉及虚拟支付,改完重新提交又等了三天,正好那天要给渠道演示新版本,差点误事。 所以现在我们固定了搭配:早期快速迭代,一两天更一个版本,就用超级签名;版本稳定了做大范围公测,再发TF,效率最高,也最稳。
说到P12证书管理,我踩过的坑能写一页纸。 最开始自己生成证书导出P12,不知道要备份,电脑坏了重装系统,P12直接没了,那时候我已经签了一百五十多个设备,所有包都废了,上网查了才知道,只能去苹果开发者后台撤销原来的证书,重新生成新的P12再重新签名,那天我约了投资方看产品,折腾一上午才弄好,差点迟到,狼狈不堪。
后来我就总结出了P12管理的经验:第一,P12一定要至少做三个备份,本地电脑存一份,加密云盘存一份,U盘存一份,导出的时候一定要把密钥一起导出,不然有文件也用不了;第二,一个苹果开发者账号最多只能有两个活跃的发布证书,不要随便生成新证书,没用的证书一定要及时撤销,不然占了名额,想生成新的都生成不了,我之前就碰到过,两个名额都被没用的证书占了,找了半天才能撤销,又耽误小半天时间;第三,P12不要随便分享给别人,不要到处导,现在我把自己的P12存在对接的超级ios签名API后台,固定IP使用,从来没出过问题。
防掉签技巧都是我真金白银踩坑踩出来的,核心就是稳定省心,我总结了几个最实用的。 第一,尽量用自己的苹果开发者账号出证书,不要用共享证书,共享证书哪怕再便宜也不能用,一个证书几百个App用,只要有一个违规,全部掉签,我之前无辜掉签那次,就是服务商把我的包和赌博App放一个证书里,连累我一起被封,亏了好多测试用户,从那之后我就只用自己的证书,只签自己的App,再也没被牵连过。 第二,控制每天新增设备的数量,不要一天之内突然涨几百上千台,苹果风控对增量太敏感,一下子增量太高直接就标记,封证书都是分分钟的事,我们现在内测都是一天最多两三百台,慢慢放,从来没因为增量出过问题。 第三,证书不要频繁换IP,不要今天在这个服务器导,明天在那个服务器签,IP变动太频繁,苹果会判定证书泄露,直接撤销证书,所以我现在一直把证书存在API后台,固定使用,从来没乱换过地方。 第四,包本身要干净,哪怕是内测也不要加违规内容,隐私声明要齐全,没用的权限都关掉,包本身有问题,签名再稳也没用。
其实这段内测签名的经历,还给我们后来的AppStore上架帮了大忙。 很多创业者一开始就直接冲上架,结果对苹果规则不熟悉,改来改去被打回好几次,浪费时间又浪费钱。 我们先做内测,一边用IPA签名发测试包收集反馈改bug,一边摸清楚苹果的审核规则,什么内容不能加,什么权限不能开,我们在内测的时候就都调整好了,就连我们H5封装的包,很多人说容易被拒,我们也提前调整了原生交互,补全了所有隐私说明,最后提交AppStore上架,一次就通过了,从提交到过审只用了不到两天,真的超出我的预期。
现在我们产品已经上线,小范围跑数据,内测阶段积累的经验,真的让我少走了太多弯路。 做小本创业,其实最核心的就是稳定省心,不用天天为掉签、装不上这种破事折腾,就能把更多精力放在产品本身。 从最开始的小白踩坑,到现在自己对接超级ios签名API,自己管理证书和设备,成本比找第三方便宜一半,稳定度还高了不止一个档次,这一路的经验,都是实打实摸出来的,希望能给和我一样做内测创业的朋友一点参考吧。