我是一个做本地私域工具的小创业者,从团队三个人挤在民房办公开始,一路踩坑走到现在,苹果内测这块的坑,我几乎踩了个遍。
最开始我们把前端写好的H5页面做了H5封装,不到半小时就出了IPA包,本来想着直接提交AppStore上架,结果因为功能涉及线下导流,不符合苹果的审核规则,第一次提交就被打回来了。
我们想着先做内测,攒种子用户收集反馈,改完了再上架,这才正式接触到IPA签名这件事。苹果的规则就是,没上架的包,必须签名才能装到用户的苹果手机上,那段时间我天天泡在开发者论坛翻教程,慢慢摸清楚了整个内测流程。
一般来说,我们小团队做内测的流程很简单:先打包好需要测试的IPA包,然后做签名,生成对应的下载链接,把链接发给测试用户,用户点链接下载,安装完成后去设置里的设备管理信任开发者证书,就能正常用了。
说起来简单,真做起来到处都是坑。我最开始注册了个人苹果开发者账号,交了688的年费,想着反正以后上架也要用,先用来做内测。
个人开发者账号最多只能加100台测试设备,那时候我刚开始拉种子用户,每来一个新用户,就得手动问对方要UDID,还要教用户怎么找UDID,很多用户不太懂数码产品,光是找UDID就要折腾十几分钟,我那段时间啥也不干,天天在线教用户找UDID,导到开发者后台,然后重新打包做签名,折腾的我头大。
这就是最开始手动做设备管理的麻烦,完全没有自动化可言,稍微人多一点就顾不过来。后来用户超过100个,满了名额,我就开始试市面上主流的签名方式,先试了TF签名。
TF签名是苹果官方TestFlight的内测签名,说句实话,稳定是真稳定,几乎不会掉签,但是用起来真的太麻烦了。用户要下载我的应用,必须先在AppStore下载TestFlight,然后再通过链接跳转到TestFlight安装我的应用,好多用户嫌麻烦,看到要多下一个App直接就走了,转化率掉了快一半。
而且TF更新版本也要等苹果审核,我们那时候迭代快,两三天就更一次,每次审核快的大半天,慢的两三天,根本等不及,满足不了我们快速迭代测试的需求,用了不到一个月我就换掉了。
后来听同行推荐,试了超级签名,那时候我还好奇,超级签名原理是什么?为什么比别的签名方便这么多?翻了好多资料问了服务商才搞明白,其实就是把多个个人苹果开发者账号的测试设备名额整合起来,通过系统自动获取用户的UDID,自动加到对应的账号里,自动完成IPA签名,整个过程不需要用户手动找UDID,也不需要开发者手动管理,全程自动化。
我第一次用超级签名的时候,真的有种打开新世界的感觉,把我打包好的IPA包上传到服务商后台,不到两分钟就生成了下载链接,发给用户之后,用户点一下链接就能下载,安装完去设备管理信任一下就能用,全程不用我插手,太省心了。
当然也踩过坑,最开始贪便宜找了个几块钱一个月的超级签名,看起来很划算,结果掉签掉到怀疑人生,有次周末我出门陪家人爬山,晚上回来一看,一百多个用户给我发消息说用不了,原来签名掉了,我找服务商,服务商半天不回,等到周一才给补签,整整一天多用户用不了,直接流失了十几个核心用户,心疼死我了。
后来换了个正规的服务商,用独立的证书,价格贵一点但是稳定,用到现在快一年半,总共掉过两次签,一次是苹果更新风控规则,一次是我自己不小心把P12证书共享出去被封了,都是半天之内就解决了,用户几乎没什么感知。
说到P12证书管理,这里面的门道真的不少,我后来自己注册了五个个人苹果开发者账号,放在超级签名平台自己用,最开始不懂规则,把生成好的P12证书同时给了两个平台用,结果不到一周苹果就吊销了证书,所有用户全部掉签,我又重新生成证书重新签名,折腾了一整天才恢复,那时候才知道,P12证书绝对不能乱分享,一个证书只能绑定一个平台使用,不能多路复用。
现在我管理P12证书的方法很简单,每个账号生成的P12证书和描述文件,都单独存到加密云盘,命名规则就是“账号注册日期-账号主体-证书类型”,密码也单独记在加密备忘录里,从来不会弄丢,也不会随便分享给别人,所以很少出问题。
用了这么久,我也总结了好几个证书防掉签的技巧,都是踩坑踩出来的经验,第一个就是绝对不要用共享证书,很多便宜签名不管是企业签名还是超级签名,都是好多人共用一个证书,只要其中一个人的应用违规,整个证书都会被封,所有人都跟着掉签,所以一定要用独立证书,要么自己提供苹果开发者账号,要么找服务商给独立配置,虽然贵一点,但是稳定省心太多。
第二个技巧就是不要满打满算用掉所有设备名额,我每个个人开发者账号最多100个名额,我最多只加80个,留20个的余量,苹果的风控对于超载的账号查的特别严,留点余量,很少会被苹果盯上。
第三个就是不要把下载链接公开放到外网,最好只发给受邀的内测用户,公开链接会引来大量的无关点击和爬虫,很容易触发苹果的风控,我现在都是把下载链接放在种子用户社群里,只有通过审核的用户能拿到,这么久从来没触发过风控。
第四个就是如果注册多个苹果开发者账号做超级签名,最好一个身份信息对应一个账号,不要用同一个身份证注册多个,很容易被苹果判定为批量注册,直接封掉账号,我五个账号都是用不同的家人身份注册的,每个都用了快两年了,从来没出过问题。
现在我内测有三千多种子用户,所有的设备都是超级签名自动管理,卸载的用户会自动释放设备名额,不用我手动去删闲置设备,每个月花在签名和证书管理上的时间,加起来都不到一个小时,大部分时间我都用来改产品、对接商家,真的太省心了。
对比我最开始手动管理设备、天天补掉签的日子,现在的状态真的好太多,对于我们小创业者来说,时间就是生命,不用天天盯着签名掉没掉,不用一个个帮用户解决安装问题,就能把精力放在更重要的产品打磨上。
我们现在改了五六版,已经重新提交AppStore上架了,在等审核结果,不管结果怎么样,我们的内测都会一直用超级签名,就算上架成功,后续的灰度测试、内部版本测试,也都离不开稳定的IPA签名。
回顾这两年的内测经历,从最开始连什么是IPA签名都不懂,到现在能把证书管理的井井有条,踩了无数坑,也总结了很多经验,其实选对适合自己的签名方式,做好证书管理,做好防掉签的措施,苹果内测真的没有那么麻烦,稳定省心的签名,真的能帮我们小创业者省太多事。我也推荐很多刚起步的做苹果内测的朋友用超级签名,只要找对服务商,管理好自己的证书,比自己瞎折腾省太多心力,也能让我们把更多的心思放在产品上,不用为签名这种琐事分心。