我做小众本地工具创业快三年了,团队从最初挤在出租屋的三个人,到现在也才七个人,每一分钱都要掰成两半花,内测这条路的坑,我几乎踩了个遍。
最开始什么都不懂,以为我们做好H5封装,导出安装包就能直接用。结果苹果手机根本不让装未授权的包,才知道必须要做IPA签名,想要内测发出去给用户测,绕不开苹果签名这一步。那时候一心想省成本,直接自己买了苹果开发者账号,个人版,一年688块,咬咬牙就付了钱,想着自己弄证书自己签,能省不少钱。
最开始走内测流程,完全是摸黑过河。那时候我大概理出来的流程是:改完产品bug→Xcode导出IPA包→生成P12证书和描述文件→IPA签名→发链接给用户下载。说起来简单,做起来第一步就错了,导出P12证书的时候,没选对包含私钥的选项,弄出来的文件根本用不了,折腾了整整一下午,电脑都快被我砸了,才终于弄出能用的证书。
紧接着就是设备管理的问题,给我上了狠狠一课。个人苹果开发者账号,最多只能添加100台测试设备,我们第一批找的种子用户就有160多个人,一百个名额根本不够用。而且每添加一台设备,都要用户给我发UDID,我手动复制粘贴到开发者后台,再重新生成描述文件,重新签名,稍微错一个字符,签名就失败,用户就装不上。那时候我做了个excel表,记了一百多行UDID,还是天天出错,每天大半时间都在处理安装问题,根本没时间改bug。有一次一个做同行业的创业者,本来想来体验给我提意见,结果折腾了三次都没装上,直接退了内测群,那时候真的挺挫败的。
后来实在顶不住了,去苹果签名证书社区讨论发帖求助,很多老内测创业者给我支招,我才知道原来还有TF签名和超级签名这两个现成的方案,不用自己苦巴巴管设备。
我最先试的是超级签名。说一下最真实的使用感受:刚用的时候真的觉得太香了。不用我一个个收UDID,用户点下载链接,自动获取设备UDID,自动签名,用户等着安装就行,我后台能看到所有安装设备的信息,不用自己记excel,设备管理一下子就省心了。价格是按下载量收费,内测用不了多少下载量,也花不了多少钱,对于小团队来说挺友好。
当然也遇到过小问题,用了不到一个月就踩坑了。当时贪便宜选了个报价特别低的服务商,用的是共享P12证书,好多人共用一个证书,结果有一天早上起来,打开内测群,90多条消息全是问为什么APP打不开,点了就提示未受信任的企业开发者。原来是那个共享证书被苹果检测到了,直接封了,所有用户的安装包全掉签了。我赶紧找服务商,对方说可以免费重新签,但是用户得重新下载安装,结果好多用户嫌麻烦,直接就不用了,那次掉签,我损失了差不多三分之一的种子用户,心疼了好久。
从那之后我就懂了P12证书管理有多重要。之前我自己存证书,随便扔在电脑桌面,结果电脑重装系统没备份,证书直接丢了,之前自己签的包全掉了,那次就够教训了。之后不管是自己的证书还是用第三方的独享证书,我都养成了固定的习惯:P12文件单独加密,备份到两个不同的云盘,密码记在两个地方,一个证书只给不超过20个APP签名,绝对不共享出去。共享证书看起来便宜,实际上只要其中一个签了违规APP,或者下载量太大触发风控,所有用这个证书的APP全都会掉签,牵连起来损失太大了,真的贪小便宜吃大亏。
踩了超级签名共享证书的坑之后,我换了服务商的独享超级签名,同时也试了大家说的比较稳的TF签名,用了快两年,最大的感受就是TF签名真的太稳定省心了。
TF签名就是用苹果官方的TestFlight做内测,本质上是苹果官方给你做IPA签名,规则都是苹果自己的,只要你的APP内容不违规,是正规内测,基本不会掉签。我用TF做内测快两年,掉签的次数加起来都不超过三次,每次还是因为我自己不小心改了包信息才出问题,真的比超级签名稳太多了。
我做的是H5封装的工具APP,一开始还怕TF审核过不了,毕竟之前申请AppStore上架,H5封装套壳就被拒了三次,改了好久才过。结果TF内测审核松很多,只要你写清楚是内测版本,功能说明白,不碰违规内容,基本一天就能过,比AppStore上架快太多了。唯一遇到的小问题就是,最初我以为一个TF版本最多只能加1000个测试员,后来我们种子用户超过1000了,我还慌了好久,后来才知道只要多建几个测试组就行,一个组1000个,想开多少开多少,对于我们这种初创团队的内测来说,几千个名额完全够用,这点小问题根本不算事。
现在我一般是小范围十几二十个核心开发测试,用自己的苹果开发者账号签,一百个名额够用,大范围一百到一千人的内测,用TF签名,一两千人的内测,用独享证书的超级签名,搭配起来用,稳得不行。
这段时间在苹果签名证书社区讨论,看到很多新手问防掉签的技巧,我也把自己踩坑踩出来的经验整理一下,都是真真切切能用的。
第一,证书尽量用独享,不要用共享,哪怕多花一点点钱,也比天天掉签天天给用户解释强。我现在用独享超级签名,比共享贵不到一倍,掉签概率降了不止十倍,太值了。
第二,控制单证书的签名量和下载量,不要一个证书签几百个APP,也不要一下子放几万人下载,苹果的风控机制很敏感,短期内下载量波动太大,一定会被检测,直接封证书。我内测都是慢慢放用户,一天最多几十上百个下载,从来没触发过风控。
第三,一定要备份好P12证书和苹果开发者账号信息,不要存在本地,一定要云盘多备份一份,密码千万要记好。我之前丢过一次证书,那种所有安装包全掉,找不回来的绝望,真的不想再体验第二次。还有就是,不要随便把自己的苹果开发者账号借给别人用,更不要给代签的人共享账号,之前社区里有个兄弟,把账号给服务商签名,结果服务商用来签违规APP,直接账号被封,自己的正规APP也全废了,损失十几万。
第四,掉签之后不要马上用同一个证书重新签,先等几个小时,换个新的描述文件,稍微改一下IPA的包信息,再重新签名,不然容易连续触发苹果检测,掉了又掉,没完没了。
现在我们的正式版已经成功在AppStore上架了,但是每次新版本更新,我们还是会先做内测,用TF签名发给核心用户测两周,改完bug再提交AppStore上架审核。这么多年下来,最大的感受就是,对于我们小创业团队来说,稳定省心比什么都重要。本来人手就不够,资金也紧张,要是天天把时间花在处理掉签、用户安装问题上,根本没时间打磨产品。
从最开始自己摸瞎弄证书,到现在能把签名这块安排得明明白白,很少出问题,都是踩坑踩出来的经验。其实苹果签名这块没有什么特别神秘的,只要找对方法,管好证书,选对适合自己的签名方式,就能省好多心,把精力放在真正重要的产品上。