去年凑了三个人的小团队做社区邻里服务工具,一开始没敢直接冲AppStore上架,想着先做H5封装出APP,找几百个种子用户测完功能改完bug再正式上线,谁知道第一步就卡在了IPA签名上。

那时候我连苹果签名是什么都搞不清,只知道Android打包完直接发链接就能装,iOS打包出来的IPA,直接传给用户根本装不上,点安装就提示验证失败。后来查了整整一天资料才摸清楚,iOS系统对所有未上架的APP都要求签名,没有签名的安装包根本没法运行,要做内测就绕不开苹果签名这一步。

我走的第一个内测流程,完全是自己瞎折腾。先是花了688块钱注册了个人苹果开发者账号,99刀一年换算成人民币差不多就是这个价,结果身份验证卡了我整整一周。因为我是个体户创业,传营业执照的时候一开始没拍清楚法人信息,苹果直接打回,重新拍照再提交才过。拿到开发者权限之后,我才开始自己弄签名,那时候真的是一步一个坑。

首先说设备管理,那时候用自己的个人苹果开发者账号,最多只能加100台测试设备,我要找用户要UDID,一个个手动加到开发者后台的设备列表里。五十个种子用户,我收UDID收了整整一天,有大半用户不会查UDID,我还要一步一步截教程:打开设置,点通用,点关于本机,点序列号那一行,出来UDID之后截全图给我。有的用户截了十次都没截对,我一个个对着改,那天从早上九点坐到下午六点,水都没喝几口。

收完UDID还要生成描述文件和P12证书,我那时候不懂P12证书管理,把开发证书和发布证书弄混了,导出P12的时候还忘了存密码,打包完签名出来的IPA,发出去一半用户装不上,我又重新生成证书、重新打包,熬到凌晨两点才把新包发出去,那天躺下之后脑袋里全是UDID和P12这几个词,连做梦都在找证书密码。

等五十个种子用户测了半个月,我们要加新的测试用户,这才发现一百台的额度早就用完了,剩下三十多个人加不进去,这时候才开始找第三方签名服务商,接触到了TF签名和超级签名。

最早是朋友推荐我试超级签名,说超级签名自动识别UDID,不用用户给,也不用我手动加设备,点链接就能直接安装。我那时候急着上线内测,赶紧找了一家服务商开了户,一开始用着确实爽。用户只要点开我发的链接,就能直接下载安装,不用我一个个收UDID,省了我超多时间。但是没用半个月就出问题了。

那时候找的那家服务商报价很便宜,我当时还捡着宝了,结果不到一个月,有天我正在跟谈了半个月的供应商签合作,手机不停弹消息,三十多个用户说APP点不开,图标灰了,明显是掉签了。我赶紧联系服务商,才知道他们用的是共享证书,有一个账号被苹果封了,绑定这个账号的所有用户都掉了。虽然服务商给补了签,但是要用户重新下载安装,有七八个种子用户嫌麻烦直接退测了,我那时候真的欲哭无泪,本来就没多少种子用户,一下子走了快四分之一。

后来吃一堑长一智,听了圈内老玩家的建议换了TF签名,也就是苹果官方TestFlight的内测签名,本身就是苹果官方开放的内测渠道,完全符合苹果ios签名合规的要求,这一点真的太重要了。用了快一年TF签名,我最大的感受就是稳定省心,之前超级签名天天担心掉签的日子一去不复返了。

TF签名是苹果官方的,所以根本不存在苹果随便吊销证书的问题,只要你的APP不做违规违法的内容,基本不会掉签。我用了快一年,只掉过一次签,还是我自己改了包名重新打包导致的,正常使用大半年没出过任何问题。安装也方便,用户点链接跳转到TestFlight,点一下安装就能用,不用像之前用第三方超级签名那样,装完还要教用户去设置里找设备管理,信任开发者证书。

之前用超级签名的时候,我差不多每周都要收到三五个用户问,为什么安装完打不开,我还要发教程教他们找:设置→通用→VPN与设备管理→找到对应的描述文件,点信任。好多三四十岁的种子用户,根本找不到这个入口,我有时候还要开远程一步步教,太耗精力了。用了TF之后,这种问题完全消失了,苹果官方认可的应用,系统直接信任,根本不用额外操作,省了我超多时间去改功能,不用天天处理安装问题。

说到P12证书管理,我踩过的坑真的能写满一页纸。最早自己弄签名的时候,把P12证书随便存在电脑桌面,还跟同事共享,结果同事电脑重装系统,把证书删了,导出的时候密码我们俩都没记,整个证书直接废掉,只能重新生成,耽误了三天的内测进度。后来又试过把P12存在公共云盘,结果云盘直接给我和谐了,说文件不安全,又丢了一次。

现在我摸出了P12证书管理的经验:第一,P12证书不要随便共享,一个证书对应一个签名用途,不要同一个证书既签内测包又签上架包,很容易触发苹果的风控;第二,证书生成之后,一定要把P12文件和密码存在加密的个人网盘,再加一份备份到移动硬盘,不要存在公共空间,也不要随便给外人,万一被人拿去签违规APP,你的证书会直接被苹果吊销,严重的连你的苹果开发者账号都会被牵连封禁;第三,同一个苹果开发者账号下,不要生成太多没用的P12证书,苹果对每个账号的证书数量是有限制的,超过之后你要做新证书就得删旧的,删错了就会掉签,我之前就因为删错证书,掉了整整一百多用户的签名,现在想起来还头疼。

说到证书防掉签技巧,我踩了这么多坑,总结出来最核心的一点就是走合规渠道,苹果ios签名合规才是稳定的前提。我一开始贪便宜,试过99块钱包一年无限签名的那种,结果第三天就掉签,找商家的时候人都没了,朋友圈也拉黑了,99块钱打了水漂不说,还耽误了我内测进度。

除了选合规渠道,还有几个实用的小技巧:第一,不要用同一个证书签多个不同功能、不同包名的IPA包,批量签不同包很容易被苹果检测到,触发吊销;第二,不要频繁添加删除设备,也不要频繁更新描述文件,我之前为了腾设备额度,一周删了五十个旧设备,结果直接触发苹果风控,证书被封了三天,后来找了苹果客服申诉才拿回来;第三,H5封装的IPA包,不要加任何绕过签名校验的插件,也不要改太多系统权限,苹果的机制现在能检测出来这类操作,哪怕是内测包也会直接吊销证书,我之前加过一个这类插件,结果不到一周就掉签,删掉之后重新签名用到现在都没事;第四,如果用户量不大,几百人内测,选TF签名真的是性价比最高的,TF最多支持一万个测试用户,对于创业初期完全够用,价格比超级签名便宜,稳定性还高太多。

现在我们内测已经快结束了,攒了三千多个种子用户,改了一百多版bug,下个月准备正式提交AppStore上架。这段做内测的经历,最大的感受就是苹果签名这块,真的不能图便宜,稳定省心比什么都重要。你天天掉签,用户本来是来帮你测功能的,结果天天折腾重新安装,谁还有耐心给你提意见?

我身边就有朋友,创业做APP,贪便宜用了不合规的共享签名,结果证书被封,连带着自己申请的苹果开发者账号都被牵连封禁,最后连AppStore上架都没法做,项目直接黄了,真的太可惜了。所以我现在跟圈内朋友聊起苹果签名,第一句话就是提醒要合规,合规才是真的省钱省心。

这段时间走下来,从自己瞎折腾弄个人账号签名,到踩了超级签名的坑,再到用上稳定的TF签名,整个内测流程现在已经走得顺顺的,不用天天盯着掉签的消息,不用天天教用户找设备管理,也不用天天担心证书被封,能安安心心改产品,等上线,这就是做创业内测最舒服的状态了。