我是一名做本地生活服务的小创业者,两年前项目起步的时候,最早是做H5页面,后来用户反馈想要APP端的体验,就找技术把H5封装成了IPA包,本来想着直接走AppStore上架,结果连着三次被苹果审核打回,说我们还有部分商家入驻功能未完善,属于邀请制内测内容,不符合公开上架要求。那时候才知道,原来项目正式上线前,必须先做内测攒用户反馈,而苹果的内测,绕不开IPA签名这件事,这一路踩了无数坑,也摸出了不少防掉签的实用经验。
说起来我的第一个内测流程完全是乱走的。那时候不懂规则,技术把H5封装完IPA包,我就直接发给测试用户,结果十个用户有九个装不上,弹出来“不受信任的开发者”提示,后来查了半天才知道,没有经过签名的IPA包,苹果系统根本不允许安装,哪怕是内测包也一样。那时候才开始正经梳理流程,现在我跑顺了的内测流程其实很清晰:技术改完bug导出测试IPA,根据这次内测的人数选对应签名类型,添加需要测试的设备信息,签名生成下载链接,发给用户后引导安装,全程最多半小时就能搞定,刚入门的时候折腾了整整一周才理明白。
说到设备管理,这块我一开始踩的坑真不少。最早用超级签名的时候,要求必须绑定测试设备的UDID才能签名,那时候我不懂,让每个用户自己找UDID,发过来我再一个个录进去,结果半天时间才加了12个设备,还有大半用户说找不到UDID在哪,差点把当天的核心测试会给耽误了。后来换了带自动获取UDID功能的签名平台,用户点进网页一步就能授权获取,系统自动添加到设备列表里,我根本不用手动操作,省了超多精力。现在我对不同签名的设备管理习惯也不一样:做小范围核心测试用超级签名,设备都是固定的核心成员,加一次就能一直用,换设备的时候直接删旧加新就行,很灵活;做大范围公测就用TF签名,苹果官方支持最多10000个测试员,管理起来也很方便,后台直接就能看设备安装情况。
用过这么多签名,我也聊聊TF签名和超级签名的真实使用感受吧。我最早图便宜用过那种几十块一个月的共享企业签名,那体验真的糟心,一周掉三次签,每次掉签所有用户都安装不了,一大早就一堆人找我要新链接,我天天追着服务商补签,半个月下来人都瘦了两斤,那时候真的想放弃转做安卓纯H5算了。后来听朋友介绍换了TF签名,才知道什么叫稳定省心。TF本身就是苹果官方推出的内测渠道,只要你内容正规,基本不会掉签,我用了快一年TF,只出过一次问题,还是我自己误删了TestFlight上的版本,重新上传就好了,跟证书本身没关系。那超级签名不好吗?也不是,超级签名适合小团队几十人的内测,安装的时候不用跳转到TestFlight,用户点链接直接就能装,体验比TF好一点,就是成本比TF高,按设备收费,人多了不划算。我之前也踩过超级签名的坑,找了个便宜商家,给我用的共享证书,结果别人用同一个证书签了违规应用,苹果一封证书,我的包直接掉了,那次真的长记性了,再也不碰共享证书。
接下来聊聊P12证书管理,这块真的是防掉签的核心,很多人不重视,最后吃了大亏。我最早申请了个人苹果开发者账号,688块一年那个,第一次导出P12证书的时候,不懂重要性,随便存在了公司的公共网盘里,密码也设的很简单,结果没半个月,证书就被别人盗走了,拿去签了违规内容,苹果直接给我的证书封了,当时我已经发了五十多个内测包,全掉签了,折腾了三天才重新申请证书重新签名,差点把刚拉的种子用户给弄丢了。从那之后我就定了几条P12管理的死规矩:第一,P12证书永远只存在加密云盘里,只有我和技术主管两个人有权限,绝不放到公共空间;第二,导出证书必须设16位以上的混合密码,存在独立密码管理器里,绝不外泄;第三,如果给第三方签名服务商提供P12,用完立刻去苹果开发者后台 revoke掉这个证书,绝不留着给对方用,哪怕对方说方便下次签名也不行。现在我每个月都会整理一次苹果开发者后台,把不用的过期证书全部删掉,保持账号干净,苹果从来没给我发过警告。
很多人问我苹果签名证书如何防掉签,有没有什么实用技巧,我整理了几个自己亲测有用的,都是踩坑踩出来的,核心就是稳,省心。
第一,永远不要用共享证书,哪怕便宜一半也不要碰。共享证书就是几十上百个商家共用一个证书签名,只要有一个人签了违规内容,苹果查到就是整个证书一起封,掉签是百分百的事,只是时间早晚,我见过太多人贪便宜几十块买共享签名,掉了之后找服务商,对方要么拉黑要么补签还是共享,没完没了掉签,最后耽误事亏的更多。我现在不管用超级签名还是什么,都是用自己苹果开发者账号的独立证书,只有我自己用,根本不会被别人牵连,稳太多。
第二,不要频繁换IP登录苹果开发者后台,也不要乱申请证书。苹果的安全机制很严,你一会在广州登录,一会在北京登录,系统直接判定你账号异常,轻则要求重新验证,重则直接封你证书封你账号,我现在固定用公司的IP登录开发者后台,出门需要登录就挂公司的VPN,从来没出过异常。还有,苹果对每个开发者账号的证书数量是有限制的,不要没事就乱申请新证书,不用的证书及时删掉,你账号里堆一堆过期不用的证书,苹果会判定你违规,容易盯上你,保持账号干净就是最好的防掉签。
第三,内容一定要正规,不要碰苹果禁止的内容。哪怕是内测,苹果也会抽查,你内容违规,别说证书掉,账号都能给你封了,我们做正规本地生活,这么久从来没被抽查出问题,只要你不碰红线,苹果一般不会无缘无故封你证书,大部分掉签都是自己操作不当或者选了坑人的证书。
还有一点,一定要开启苹果开发者账号的双重验证,定期备份账号和证书信息。我之前认识一个同行,账号没开双重验证,被盗了,对方把他所有证书都 revoke了,所有内测包全掉,找苹果申诉花了半个月才找回来,耽误了项目上线,损失很大。我现在把账号信息和P12证书加密备份在两个不同的云盘里,哪怕一个出问题,另一个随时能拿出来用,从来没慌过。
上个月我还出了个小问题,更新内测包的时候,手快把旧证书给 revoke了,结果没等用户更新完,旧版全都掉了,还好我提前备份了旧证书,很快就恢复了,只有七八个用户受影响,后来我就养成了习惯,等所有用户更新完新包,再删旧证书,就再也没出过这种问题。
说到用户端的设备管理,还有一个小细节,最早用企业签名的时候,好多用户找不到设备管理入口,不会信任证书,我特意做了三四版图文教程,还是有用户问,后来换了TF和超级签名,麻烦少了太多,TF是官方的,用户只需要信任TestFlight就可以,不用单独信任我们的开发者证书,超级签名也不需要用户手动操作信任,安装完就能用,对新手用户太友好了。
现在我们项目内测已经走完了,H5封装的APP改了一百多版,功能全完善了,上个月重新提交AppStore上架,已经通过审核,下个月就能正式上线了。回头看这两年,要是一开始没有稳定的苹果签名做内测,我们不可能攒到这么多种子用户,也不可能把产品磨得这么顺,一开始硬着头皮上架,来回被拒不知道要耽误多久,早就被竞争对手抢了市场。
其实做苹果内测这么久,我最大的感受就是,防掉签根本没有什么黑科技,就是按规矩来,管好自己的证书和账号,选对适合自己的签名类型,不要贪小便宜吃大亏。创业本来事情就多,要拉业务要改产品要对接商家,哪有那么多时间天天跟掉签较劲,稳定省心才是最重要的,我现在半个月才看一次开发者后台,啥事没有,用户正常用,我就能把所有精力放在产品运营上,这才是对创业者来说最好的状态,不用天天被证书问题消耗精力,才能把更多时间花在真正重要的事上。