我是一个做本地生活工具的小创业者,团队加上我才三个人,从开发第一天起,iOS内测就成了我天天要操心的事儿。
最开始开发完第一个版本,我啥都不懂,只想着要么直接上架AppStore算了。一问圈里朋友,说你这半成品一堆BUG,上去也得被打下来,还留下不良记录,不如先做内测攒够反馈再上。我才反应过来,内测是绕不开的环节。
我自己先去注册了个人苹果开发者账号,花了99刀,心疼了好久。按照网上的教程,开始走我最早的内测流程:Xcode打包出未签名的IPA包,然后收集所有测试用户的UDID,一个个加到开发者后台的设备列表里,再生成描述文件,导出P12证书,最后做IPA签名,打包完再发给用户安装,用户安装后还要去设备管理里手动信任开发者证书,才能正常打开使用。
那时候最痛苦的就是设备管理。一百二十多个种子用户,每个人的UDID都要自己查,截图发给我,我一个个复制进去。个人苹果开发者账号一年最多只能加100台设备,我刚弄就超了二十个名额,急得我到处找办法。更坑的是,有一次我把一个核心种子用户的UDID最后两位输反了,折腾了整整一下午,换了三次包用户还是装不上,最后跟用户视频一步步核对,才发现是我输错了,那时候真想把电脑扔了。
后来经朋友介绍,才知道市面上有TF签名和超级签名,专门做内测用的。我两种都用了挺长时间,也算有挺深的使用感受。
先说说TF签名,毕竟是苹果官方TestFlight的渠道,确实稳定,我用的那两个月从来没掉过签。但是缺点真的不适合我们这种快速迭代的小团队。我们内测那会每周更两次版本,每次更新都要提交TF审核,快的时候等大半天,慢的时候两三天才能过,有时候审核还会莫名其妙被拒,说我包体里有测试埋点不符合要求,我就是内测要埋点统计用户行为啊,真的无语。后来我接了一个客户的活,给他们做H5封装的本地商家小程序APP,要做内测,提交TF直接被拒,说因为有用户自主发布内容的板块,还没做内容审核机制,不让进,彻底把我逼得换了超级签名。
最开始用超级签名也踩了大坑,那时候不懂,图便宜找了个个人服务商,九十块钱一个月不限量签名。用了不到三个星期,某天早上起来微信炸了,一百多个用户说APP打开闪退,装不上。一问服务商才知道,用的是共享P12证书,同证书下有个客户签了违规的赌博APP,被苹果查到直接封了证书,所有应用全掉签。
那天我加班到凌晨两点,一个个通知用户重新安装,重新找渠道做签名,差点把我熬出病。也就是这次踩坑,让我搞懂了P12证书管理有多重要,稳定的前提都是自己把核心东西攥在手里。
现在我对P12证书管理的原则,就是绝对不共享,自己存好,只自己授权用。我自己有两个苹果开发者账号,一个个人的一个公司的,P12证书都是我自己生成导出,存在加密云盘里,从来不会整张证书发给服务商,更不会跟别人共用。每次签名只给服务商做临时授权,签完我就撤回权限。P12的密码我设的是十几位的数字字母符号混合密码,从来不会用简单密码,也不会存在本地电脑,就怕电脑中毒或者丢了,证书被人拿去乱用。
换了正规的渠道,用自己的证书做超级签名,才发现原来超级签名可以这么稳定省心,尤其是现在用的这个支持超级签名多应用支持,我三个项目同时做内测,一个是主产品的新功能灰度测试,两个是给客户做的H5封装项目,三个应用都放在同一个账号下面,不用分开买套餐,不用管理一堆不同的证书,打开后台就能看到所有应用的设备数据,哪个设备不用了直接删掉腾名额,太方便了。
用到现在快五个月了,只出了一次小问题,还是因为我换域名的时候没来得及备案,被苹果拦截了下载链接,不是证书本身的问题,换了备案域名就好了,稳定性真的超出我的预期。
踩了这么多坑,我也总结了好几个证书防掉签的技巧,都是实打实用钱和时间换回来的经验,对中小创业者内测来说真的够用。
第一,绝对不要用共享证书,不管多便宜都别碰。贪小便宜吃大亏这句话,放在苹果签名这块真的太对了,共享证书只要有一个应用出问题被苹果盯上,同证书所有应用一起掉,牵连一大堆,太坑了。
第二,一张证书不要签太多应用。很多人为了省钱,一张企业证书签几十个上百个应用,苹果的风控机制很容易检测到这是批量签名用来牟利,直接就封证书了。我现在一张证书最多放三个应用,刚好满足我的需求,也不会触发苹果的异常检测,稳得很。
第三,IPA包一定要干净,不管是原生开发还是H5封装,都不要加违规模块,不要带违规内容,哪怕是内测也不行。苹果现在对内测应用的检测越来越严,只要内容干净合规,基本上不会随便找你麻烦,掉签概率低很多。
第四,分发要用自己备案的稳定域名,别用免费的二三级分发域名,那些域名大部分都被苹果标记过,很容易被拦截,你签名没问题,域名进了黑名单,用户还是装不了,白折腾。
第五,一定要定期备份你的苹果开发者账号信息和P12证书,多存几个不同的云盘,别电脑一坏硬盘损坏全没了,重新跟苹果申请生成证书真的太麻烦,还容易出问题。
现在我们的主产品已经打磨好了,所有内测反馈都调整完毕,提交AppStore上架,一次就通过了,从提交到审核通过只用了三天,真的多亏了内测阶段稳定,我们把能测的BUG都测完了,反馈收集的全,上架的时候根本没什么可大改的。
现在我们新功能做灰度内测,还有接的定制H5封装项目的内测,都还是用原来的超级签名。超级签名多应用支持真的太适合我们这种小团队了,不用花太多钱,不用花太多时间管理,更新版本几分钟就能弄完,用户点链接就能自动获取UDID完成安装,根本不用我一个个收UDID一个个提醒,省下来的时间我都能多改好几个BUG,多跟几个种子用户聊需求。
其实做创业这么久,我最大的感受就是,很多人觉得IPA签名、内测这些都是边角小事,不值得花心思找靠谱的,但是对于我们小创业者来说,一个稳定的签名真的太重要了。用户本来就是冲着尝鲜来测试你的产品,本来信任度就不高,掉一次签,用户折腾半天装不上,可能就再也不想用了,辛辛苦苦拉来的种子用户就这么没了,太可惜。
我之前掉签那次,就走了二十多个种子用户,心疼了好久,所以后来我宁愿多花一点钱,找稳定的渠道,用对方法管理证书,就是想省点心,把精力放在产品上,不用天天跟着处理签名的烂摊子。现在这个状态真的挺好,内测流程顺得很,设备管理不用操心,签名大半年没出过大问题,我也能安安心心打磨产品,等着下一个新版本上线了。