苹果企业签名内部使用规范实测分享

我做社区本地生活创业快两年了,去年打算把跑了大半年的H5团购业务封装成独立APP,方便种子用户体验,本来想直接上架AppStore,结果因为食品经营许可证的主体和我申请的苹果开发者账号主体不匹配,连着三次审核都被打了回来。那时候已经约了100多个小区团长做内测,总不能爽约,没办法只能转做IPA签名内测,这大半年摸爬滚打,踩了不少坑,也整理出了一套适合我们内部的使用规则,今天就说说我的真实经历。

最开始走内测流程,我完全是个门外汉。先是找第三方工具把H5封装成IPA包,改了包名、加了启动页和推送权限,花了不到五百块就搞定了H5封装的活儿,拿到未签名的安装包我才犯愁,到底用哪种方式签名合适。一开始我想用自己手里那个99美金的个人苹果开发者账号自己签,按照网上的教程一步步弄,才发现个人账号最大的问题就是设备数量限制,一年最多只能加100台设备,我那时候光团长就有120多个人,根本不够用。

再说设备管理这事儿,用个人账号签名要挨个收集用户的UDID,我那时候建了个群,挨个教用户怎么查UDID,整整录了三天信息,还有六个用户填错了UDID,装好之后一直打不开,我又挨个核对重新录,折腾了快一个礼拜,才让八十多个人装上,剩下的人根本加不进去,那时候才知道,小团队做内测,设备管理真的能把人磨疯。

后来听朋友推荐试了超级签名,才知道什么叫方便。超级签名是自动获取用户UDID的,不用我挨个收集,用户点开发布链接就能自动识别设备,安装好就能用,设备管理这块我几乎不用操心。用了两个月我说下真实感受,超级签名确实适合几十人的小范围内测,稳定性也还可以,就是太贵了,按设备收费,一台设备十几块,我用户从100涨到300多,每个月光签名费就要五千多,对于我们创业公司来说,这个成本真的顶不住,而且如果用户换手机,还要重新收费,越用成本越高,没办法只能换别的方式。

之后又试了TF签名,也就是TestFlight签名,苹果官方的渠道,说真的TF签名确实稳,我用了一个多月从来没掉过签,但是问题也很明显,每次更新版本都要过苹果的审核,我内测阶段几乎每周要更两三次,改个小bug、加个新功能都要等审核,快的时候两三个小时出结果,慢的时候要等一两天。有一次用户付完款不显示订单,是个很紧急的bug,我打包好签名等审核,足足等了一天半才过,那时候三个团长说不好用直接退了,我心疼了好久。对于需要频繁迭代更新的内测团队来说,TF签名的效率真的跟不上。

折腾了一圈,最后还是用了苹果企业签名,选的是独立P12证书的版本,这才找到稳定省心的感觉。之前我也踩过企业签名的坑,贪便宜选了共享证书,一个月才三百多块,结果不到一周就掉签了,所有用户的APP都打不开,那时候我刚好做团长推广活动,几百个人等着进,结果全掉了,服务商说补签要等排队,又拖了一天,那次至少流失了二十个核心用户,我才知道共享证书为什么这么便宜。共享证书就是几十上百个开发者共用同一个P12证书,什么类型的APP都往里面签,难免有违规的,苹果一扫描整个证书就被封,掉签是常有的事儿。

后来换了正规服务商的独立P12证书,相当于我自己独占一个企业证书,整个证书里只有我的APP,只要我自己的APP不违规,基本不会被封。说到P12证书管理,我现在也有自己的一套方法,我们内部规范里第一条就是,P12证书不能给任何外部分享,哪怕是合作方要用,也要单独分包签名,不能把原始证书发出去。P12文件包含了证书的签名密钥,一旦泄露被别人拿去签违规APP,整个证书都会被苹果封,掉签都找不到原因。我之前还听说同行把P12证书随便存在公司群文件里,结果被爬虫爬走,别人拿去签了博彩类违规APP,不到半个月证书就被封,所有用户全掉签,好不容易攒的种子用户流失了一半,这个教训我一直记着。

我现在把P12证书存在加密云盘里,密码单独存在密码管理器里,不会和证书文件放在一起,还定期备份到本地移动硬盘,怕哪天云盘出问题找不回来。哪怕是公司内部调用,也只发加密压缩包,密码单独单独发给对接的运营,不会留在聊天记录里。就算我换电脑导出证书使用,用完之后也会立刻把原电脑上的证书副本删掉,不会留多余的安装包,从根源上避免密钥泄露。

用了快半年独立证书的企业签名,我也总结了好几个防掉签的技巧,都是踩坑踩出来的。首先就是一定要用独立证书,别碰共享证书,这是稳定的核心,我这大半年只用独立证书,一共就掉过一次签,还是那时候我一下子推了五百个新用户安装,单日安装量太高触发了苹果的风控,后来我按照服务商的提醒,把安装量拆分到三天,每天一百多,就再也没出过问题。第二就是分发域名一定要用自己的干净域名,别用服务商给的免费分发域名,很多免费域名已经被苹果标记过,哪怕证书没问题,链接也打不开,我自己花几十块买了个域名,做了个简单的分发页,一直用到现在都没事。第三就是不要频繁换签名服务商,同一个证书不要给多个服务商签名,避免密钥泄露,我从换了这个服务商之后就一直用,证书一直存在他们那边加密存储,从来没出过问题。第四就是APP本身不要碰违规内容,资质不全的内容就不要往里面加,苹果现在查企业签名越来越严,只要本身合规,基本不会被封。

还有个小问题就是很多新用户不知道安装完企业签名的APP要去设备管理信任描述文件,一开始我也没注意,好多用户装完之后点不开,就说我APP做的有问题,甚至直接删掉了,后来我在分发页最顶部做了一个带截图的一步一步教程,用户装完就能看到,还有自动弹提示,现在很少有人问这个问题了,解决之后就一直很顺畅。还有一次我更新版本的时候,不小心把同一个包签了两次,用了不同的版本号,结果用户装的时候提示安装失败,我折腾了半天才找到问题,后来我们内部流程里就加了一条,打包签名之前一定要核对包名和版本号,确认没问题再签名分发,避免出这种低级错误。

现在我做内测快一年了,攒了八千多种子用户,APP改了几十版,各种bug都修的差不多了,食品经营许可证的主体也变更完了,正在准备正式上架AppStore,回头看这一段,IPA签名内测真的帮了我大忙,要是我一开始硬等AppStore审核,不知道要耽误多少时间,错过多少拓荒的机会。H5封装加苹果企业签名的组合,对于我们小创业团队来说真的太友好了,不用花太多成本,就能快速让用户用上APP,还能随时迭代改bug,稳定的签名能让你省好多心,不用天天盯着会不会掉签,不用天天给用户解释为什么打不开。

我们现在内部整理的苹果企业签名内部使用规范,核心就是围绕稳定来的,选对证书,管好P12,控制安装量,用干净的域名,就能做到长期稳定,省下来的时间精力,都能用来打磨产品找用户,对于创业者来说,没有比稳定省心更重要的事儿了。一开始我总想着能省一点是一点,踩了坑才明白,掉一次签损失的用户,比省下来的签名费贵多了,找对稳定的方式,才能安安心心做产品。