我去年从小程序赛道转做本地生活独立APP,一开始最头疼的不是功能开发,是内测阶段的签名问题。那时候搜了无数教程,第一个跳出来的问题就是TF苹果签名是什么,半懂不懂的我踩了快一个月的坑,才摸出顺溜的路子。
说起来我一开始的目标很明确,做完开发就直接提交AppStore上架,省得麻烦。那时候我已经花99美元注册了个人苹果开发者账号,打包好H5封装的IPA包就直接提审了。没想到两次都被打回来,说我这是套壳APP,功能和小程序重复,还有部分内测功能没说明,不符合上架规则。那时候离我们种子用户内测只剩一周,急得我到处找办法,才知道原来可以先做IPA签名内测,等改完问题再正式上架。
我最早摸清楚的完整内测流程其实很简单,现在走顺了之后从没出过错。开发完功能打包出未签名的IPA包之后,先统计好要参与内测的测试设备,收集用户的UDID,然后根据内测人数选对应的签名方式,签完包之后做一个H5封装的下载落地页,把安装链接放进去,就可以引导用户下载安装了。说起来简单,一开始踩的坑全在各个细节里,最烦的就是设备管理这块。
最早我贪便宜用了免费的企业签名,那时候商家说稳定不掉价,结果用了才三天就出问题。用户安装完APP,打开直接提示“未受信任的企业级开发者”,得手动跳到设置-通用-VPN与设备管理里面,手动信任证书才行。很多我们邀请的种子用户都是本地商户老板,年纪不小,根本找不到这个入口,天天找我客服问为什么APP打不开,那段时间我客服一半的工作量都是帮用户找设备管理的入口,烦到崩溃。
后来听朋友推荐换了超级签名,才知道不用用户手动信任的签名有多香。超级签名是自动识别设备UDID,安装完直接就能打开,不用折腾设备管理的步骤。一开始我买的按设备收费,一百个用户花了三百多,用着确实舒服,头一周没人找过来问打不开的问题,我那时候还觉得终于找对路子了。
但是超级签名也有坑,这点我必须说。我第一次找的商家是用共享证书,我那时候不懂什么是P12证书管理,以为交了钱就没事。结果半个月不到,所有用户的APP全都打不开了,找商家才说提供证书的苹果开发者账号被封了,要重新签就得再交钱。那时候我才搞明白,超级签名用的是个人开发者账号的P12证书,每个个人账号最多只能添加100台设备,不良商家把一个账号拆给几十个人用,超量签名很容易被苹果检测封号,掉签是迟早的事。
吃了这个亏之后,我开始自己研究P12证书管理。既然我自己有苹果开发者账号,为什么不自己生成证书给平台签名?我对着苹果开发者后台摸了整整一天,终于摸清楚了流程:先创建发布证书,生成CSR请求文件上传,下载证书之后再导出带强密码的P12文件,存到自己的加密云盘里。从那之后我再用超级签名,都是用自己的P12证书,自己管理添加的UDID,一个账号只加够100个设备,绝不超量,掉签的概率一下子就降下来了。
也是这时候我才真正搞懂TF苹果签名是什么,原来TF是苹果官方推出的TestFlight内测渠道,签名是苹果官方认可的,根本不会轻易掉签。那时候我们内测人数才三百多,远低于TF最多10000人的名额限制,我抱着试试的心态转了TF,用了一次就再也不想换别的签名了。
说下我的使用感受,TF真的是我用过最稳定省心的内测签名方式。首先它是苹果官方的渠道,只要你项目本身没问题,根本不会掉签。我那批三百个内测用户,用了三个多月,只有三个用户因为自己误删了TestFlight要重新安装,其他人从来没找我说过APP打不开的问题,对比之前企业签天天掉签,超级签名掉了还要重新花钱,这种省心真的没法比。
当然TF也不是完全没小问题,最明显的就是提交TF也要过苹果审核,不过审核比AppStore上架松太多了,速度也快。我第一次提交TF的时候,就踩了个小坑:我的APP是H5封装的,有用户登录功能,我忘了在审核备注里放测试账号,审核人员进不去,当天就给我打回来了。我加上测试账号重新提交,不到六个小时就过审了,根本不耽误进度。还有就是TF需要用户先安装TestFlight这个官方应用,再装我们的内测APP,我一开始还担心用户觉得麻烦,结果做个简单的步骤引导,九成用户都能顺利装好,没什么怨言。
这段时间踩坑踩多了,我也总结了好几个证书防掉签的技巧,都是血泪换出来的经验。
第一个,小范围内测能选TF就选TF,官方渠道永远比第三方签名稳,只要你账号不违规,基本不会掉签,省了无数补签的麻烦。这是我觉得最实用的一条,现在我所有新项目的内测,第一个就选TF。
第二个,一定要自己持有苹果开发者账号和P12证书,绝对不要用共享证书。共享证书很多人一起用,签名的APP五花八门,很容易被苹果检测到封号掉签,自己握证书,自己管,哪怕出问题了,自己也能及时处理,不用看服务商的脸色。还有就是导出P12一定要设强密码,不要随便把证书发给别人,我之前吃过亏,把P12借给朋友用,结果他拿我的证书签了违规APP,差点连累我的账号被封,从那之后我的证书从来不外借,都存在加密云盘里。
第三个,同一个证书不要签太多APP,也不要频繁签名。我现在一个个人苹果开发者账号只签我自己的一个内测包,最多加一个测试Demo,绝对不签多个不同的APP,苹果不会轻易标记你。也不要一天之内反复签名,改完版本再签,一周签个两三次就够了,太频繁很容易被苹果检测。
第四个,如果用超级签名,严格控制一个账号的设备数量,个人账号最多100台,绝对不要超量,超量是最容易被封号掉签的,宁愿多买一个账号,也不要贪便宜挤一个账号,不然掉一次损失的时间和用户,比买账号的钱贵多了。
我现在内测流程走顺了之后,真的省了太多精力。现在我的标准流程是:开发完新版本打包IPA,确认内测人数在10000以内,直接用自己的苹果开发者账号创建TF内测项目,提交IPA,填好测试信息和测试账号,等一天审核,过了之后生成邀请链接,做个简单的H5封装引导页,发出去给用户,剩下的就只要收集用户的功能反馈就行了,不用天天处理掉签的投诉,也不用折腾用户找设备管理。
去年内测结束之后,我根据种子用户的反馈加了好几个原生功能,修改了套壳的问题,再提交AppStore上架,一次就通过了,比我一开始瞎蒙着提交两次都过不了顺太多。其实现在想想,先做IPA签名内测,不仅能提前找bug,还能提前把苹果审核可能卡你的问题都改了,对正式上架反而有帮助。
做了两年创业,搞了三次大版本内测,从一开始不知道TF苹果签名是什么,到现在所有内测都优先用TF,最大的感受就是,对于我们小创业者来说,稳定省心比什么都重要。创业本来就有一堆要忙的事,产品、用户、运营到处都要操心,没必要天天在掉签这种小事上消耗精力,选对靠谱的签名方式,管好自己的证书和账号,就能安安心心做产品,不用为这种小事分心。身边很多刚创业做APP的朋友找我问签名的经验,我第一个推的就是TF,稳得没话说,只要你不是上万人的大规模内测,完全够用,而且真的太省心了。