P12签名证书申请审核时间内测亲历记
我是做本地社区生鲜APP的创业者,去年从微信小程序转做独立端,一开始一门心思想直接上线AppStore,结果因为我们的团长分销机制,两次被打回,说需要补充增值电信业务经营资质,我们小公司刚起步,办资质还要等几个月,没办法只能先做苹果内测,拉种子用户测功能,这大半年和苹果签名打交道,踩过的坑能装一箩筐,也攒了不少实打实的经验。
一开始连内测流程都摸不清,走了好多冤枉路。我们的功能本来就是基于H5做的,所以第一步先做了H5封装,打包出了IPA安装包,拿着IPA才知道,想要给苹果用户安装,必须做IPA签名,不然根本没法在苹果手机上打开。那时候我自己花688块申请了个人苹果开发者账号,想着自己弄证书签名,能省一点是一点,没想到第一步申请证书就卡了我好几天。
第一次申请P12签名证书,我就踩了坑。那时候不知道P12签名证书申请审核时间浮动这么大,我以为填完信息就能秒下,结果随便写了个证书描述交上去,等了整整三天还是待审核状态,后来直接被打回,说我的用途描述不清晰,怀疑有违规风险。那时候急着给第一批种子用户装包,急得我连着两天睡不着,后来找身边做开发的朋友问,才知道申请P12证书的时候,一定要明确写“内部测试开发使用”,信息要和开发者账号主体对应,不要写模糊不清的内容。我重新改了材料提交,不到一天就通过了,后来申请熟练了,最快两个小时就下来了。所以说P12签名证书申请审核时间真不是固定的,材料对路子就快,不对拖多久都有可能。
说到P12证书管理,我也踩过不小的坑。第一次申请下来P12,我随手存在电脑桌面上,换电脑整理文件的时候,不小心给删除了,回收站也清空了,那时候不知道怎么补发,只能重新申请,又耽误了两天时间,差点把第一批耐心等的内测用户给熬走。后来我就学乖了,现在我的P12证书备份了三个地方,本地电脑加密文件夹存一份,加密云盘存一份,移动U盘存一份,不同项目的P12分开命名,绝对不混放。还有一点要提醒,P12证书不要随便给外人,我之前外包给开发公司帮我打包,结果他们把我的P12拿去给别的客户签名用,一个证书挂了快一百个APP,没半个月就被苹果吊销了,掉签掉的我欲哭无泪,从那之后我的P12一直自己保管,只给服务商提供签名需要的必要信息,绝对不把原证书发出去。
内测离不开设备管理,这块我也有不少真实感受。最开始用自己的个人开发者账号做内测,要求每个测试设备的UDID都要手动加到开发者后台,个人账号最多只能加100个设备。我们第一批内测就拉了80多个用户,加完之后没多久又有二十多个新用户要进,提示我设备额度满了,个人开发者账号一年才能重置一次设备额度,那时候真的卡了我快一个星期,没办法只能去找别的签名方式,也就接触到了超级签名和TF签名。
先说说超级签名的使用感受吧。超级签名其实就是用多个个人开发者账号的设备额度,自动帮你添加用户UDID,用户不用手动导入描述文件,点安装链接就能直接装包。我第一次找的超级签名服务商,用的是共享P12证书,特别便宜,一百块钱就能签一千次下载,我当时贪便宜买了,结果半个月掉了三次签,每次掉签所有已经安装的用户都打不开,我早上起来一看,微信99+未读,全是问为什么APP打不开的,那天我本来约了产地供应商谈供货,硬生生在家处理了一上午重新签名发链接,差点把合作搞黄。后来我换了一家做独立P12证书的超级签名,用我自己申请的P12帮我签,只给我的APP用,从那之后就没怎么掉过,只有一次我更新IPA包的时候改了包名没提前说,才出了点小问题,五分钟就解决了。超级签名适合小范围内测,几十个上百个用户,按下载量收费,用多少扣多少,挺灵活的,就是用户多了成本会高一点,整体来说小批量用还是挺省心的。
后来我们内测用户越来越多,涨到三百多了,超级签名的成本上来了,我就转用了TF签名,也就是TestFlight签名,这块的使用感受真的可以用“稳定省心”四个字形容。TF是苹果官方的测试渠道,签名本身就是官方认可的,根本不会掉签,我转TF用到现在快八个月了,一次掉签都没有过,这点真的太舒服了。而且之前不管是企业签名还是超级签名,用户装完之后都要去设置里找通用,再找VPN与设备管理,手动信任开发者证书,很多我们的用户是社区的中老年人,根本找不到这个入口,我那段时间天天发截图教程,还是有很多人学不会,折腾的我够呛。用TF签名就完全没有这个问题,用户点了邀请链接,直接跳转到AppStore下载TestFlight,然后就能安装我们的内测包,全程不用碰设备管理,就算是第一次用苹果手机的用户也能顺利装上,省了我太多精力。
当然TF也不是完全没有小问题,比如每次更新版本都要提交苹果审核,一般审核需要几个小时到一天,要是遇到紧急bug需要紧急更新,就得等审核,这点比不上超级签名,超级签好之后就能立马发。还有就是TF每个应用最多一万个测试名额,不过对我们做内测来说,一万个名额完全够用了,我们现在才两千多测试用户,绰绰有余。而且TF本身就是AppStore的官方测试渠道,我们现在一直在补资质,等着资质下来之后正式上架AppStore,到时候用户直接就能从TF更到正式版,衔接特别顺,不用用户重新下载,这点太方便了。
做了这么久内测,掉签的坑踩多了,也总结出来不少证书防掉签的技巧,今天也分享出来,给同样做内测的创业者参考。第一点,也是最重要的一点,尽量不要用共享P12证书,几百个APP挤一个证书,苹果一筛查就容易掉,最好用自己苹果开发者账号申请的独立P12,自己管理,只给自己的APP用,稳定很多。第二点,一个P12证书不要签太多APP,我现在一个证书最多只签10个,就算多也不超过20个,APP太多容易触发苹果的风控检测,很容易被吊销。第三点,P12证书一定要做好备份,保管好,不要随便泄露给第三方,刚才我也说了,随便给别人乱用,很容易出问题。第四点,如果你是H5封装出来的IPA,封装的时候一定要把包清理干净,不要带违规的内容或者多余的插件,包本身不干净,就算签名成功了也很容易掉签。第五点,不要频繁撤销证书或者重新生成证书,频繁操作很容易被苹果判定为账号异常,直接吊销你的证书,没事别乱折腾证书。第六点,开发者账号要保持正常登录,不要申请完就大半年不管,长时间不登录,苹果也容易判定账号异常,出问题。
现在我走熟了整个内测流程,真的觉得特别省心,每次产品改完功能,H5封装出新的IPA包,小范围灰度测试就用我的独立P12做超级签名,十几分钟就能弄好,发链接给核心用户测,没问题了再全量更到TF,提交审核一天之内就能过,全量用户就能更新,大半年没出过大问题,我也不用天天盯着签名掉没掉,能把更多精力放在打磨产品和运营种子用户上。
其实作为一个小创业者,我们要的真不多,就是工具稳定,别耽误事,一开始刚接触苹果签名的时候,天天掉签天天处理问题,我都差点想放弃做独立APP,回去老老实实做小程序算了,后来摸对了路子,管好P12证书,选对了签名方式,才发现原来苹果内测也能这么省心,现在就等着资质下来,正式把APP上架到AppStore,给所有用户推正式版了。