我是一个做本地生活服务的小创业者,团队一共才四个人,去年产品成型的时候,想推给合作的商家做测试,这才开始跟苹果内测签名打交道,一路踩了不少坑,也攒了不少实打实的经验。
最开始我们的产品核心是H5做的,开发快成本低,为了让用户能在手机桌面有图标,也方便内测收集反馈,我们找第三方做了H5封装,生成了IPA安装包,本来想直接冲AppStore上架,结果接连被打回三次。 原因也很直白,我们那时候ICP备案没办下来,而且整体是H5封装,原生功能太少,苹果认为不符合上架要求。 没办法,只能先做内测,攒用户改bug,等资质齐了再做上架打算,从这时候开始,我就天天跟IPA签名、苹果开发者账号打交道了。
最开始我想着,不就是自己签名吗,花99美元买了个个人苹果开发者账号,自己跟着教程走流程。 现在想想那时候真的太折腾,完全不懂,走了好多弯路。 我先说说那时候我自己走的内测流程,现在想想都头大。 拿到H5封装好的IPA包之后,先要让所有测试用户把自己的苹果设备UDID发给我,我一个个复制,粘贴到苹果开发者后台,添加到测试设备列表里,然后再生成描述文件,导出P12证书,再用签名工具给IPA重签名,整个流程走下来,加十个设备就要花一个多小时。
设备管理更是噩梦。 个人苹果开发者账号最多只能加100台测试设备,我们刚起步的时候,商家加测试人员就有八十多,没两个月就满额了。 有人换手机,要加新设备,我就得先去后台删掉旧设备的UDID,才能腾出名额加新的。 那时候我备忘录里存了几十页的UDID,经常删错,删错了还得重新找用户要,折腾的我半个月头都是大的。
再说P12证书管理,我那时候不懂,导出P12的时候没选带私钥,结果签出来的IPA包所有人都安装失败,折腾了整整一天才找到问题出在哪。 后来我把P12存在电脑桌面,一次清理垃圾不小心误删了,之前所有签好的包全部失效,所有测试用户的App都打不开,我一个个打电话发消息通知重新下载,那天三个合作的商家嫌麻烦直接说不测试了,给我心疼坏了。 那时候我就想,有没有更省心的办法?
后来朋友给我推荐了TF签名,也就是TestFlight内测,说官方的稳定不会掉签。 我试了两个月,说说真实感受。 TF确实稳定,毕竟是苹果官方的内测渠道,正常情况下不会掉签,但是麻烦事真的不少。 首先每次更新版本,都要提交苹果审核,虽然比AppStore上架审核快,但也要等三到十二个小时不等,有时候我们改了一个小bug,想马上让商家测试,就得等半天,太耽误事。
其次,用户下载太麻烦,你发个链接,用户要先跳转到AppStore下载TestFlight客户端,然后再回到链接跳转到TestFlight里装我们的App,好多三四十岁的商家老板根本弄不明白,上次有个开火锅店的张哥,折腾了四十分钟还是没装上,最后说算了不用了,我又上门给他装的,太耽误事。 还有就是TF最多只能加一万个测试设备,而且链接很容易被微信拦截,一点开就是风险提示,很多用户不敢点。
用了两个月TF,我们商家数量涨到两百多,好多人反映下载麻烦,我就开始找替代方案,这才接触到超级签名,了解到超级签名证书池机制。
超级签名真的解决了我好多痛点,先说说使用感受。 超级签名不用用户跳来跳去,扫个码点一下就能直接安装,不用下任何额外的客户端,对商家来说太友好了,就算是不太会用智能手机的老板,一分钟也能装好。 而且超级签名用的是超级签名证书池机制,服务商把多个正规个人苹果开发者账号放进证书池,按需分配设备名额,不用受单个账号100台设备的限制,想用多少台就用多少台,太灵活了。
再说设备管理,现在我不用再一个个找用户要UDID了,用户扫码安装的时候系统会自动获取UDID,自动分配名额,我只要在服务商后台就能看到所有安装设备的信息,哪个设备好久不用了,直接删掉腾名额,一分钟就能操作完,不用再登苹果开发者后台找半天,省了不知道多少时间。 我现在有六百多台测试设备,管理起来比原来一百台还轻松。
P12证书这块,现在我自己的三个苹果开发者账号都交给服务商托管,他们会帮我加密存储P12证书,不会泄露,也不会随便乱用我的证书给别的App签名,只会用来签我自己的IPA包。 服务商还会定期帮我检查证书的有效性,提前提醒我续费苹果开发者账号的年费,不会出现年费没扣账号被停,证书失效的问题。 之前我自己弄的时候,第一年就是忘了续费,账号停了一个星期,所有用户都用不了,现在根本不会有这种问题。
很多人怕超级签名掉签,我也掉过,但是自从用了正规的超级签名证书池机制的服务,掉签的概率真的低到可以忽略,我也总结了好几个证书防掉签的技巧,都是实打实踩坑踩出来的。
第一个,一定不要用便宜的黑签名,那种几块钱包几百个安装量的,基本都是用的被盗来的黑苹果开发者账号,放在证书池里乱签,什么违规App都往里面塞,苹果一查就是一锅端,一掉签就是所有用户都打不开,我之前就用过一次,不到一个星期全掉了,损失了好多种子用户。 我现在用的正规服务,证书池里的账号都是正规个人账号,每个证书控制安装量,不会超量签,也不会混签不同类型的App,稳定太多了。
第二个,如果你自己有苹果开发者账号,尽量自己提供,放进证书池分流,不要全用服务商的证书,分流之后就算一个证书出问题,也不会影响所有用户,我现在三个自己的账号加上服务商的备用证书,分成五组,每个组一百多用户,就算一个账号出问题,也只有一百多用户受影响,而且证书池会自动分配新的证书,发个通知重新扫码就能用,大部分用户根本没感知。 我用了快八个月,只出过一次小问题,一个账号因为苹果政策调整被停了,才九个用户受影响,五分钟就解决了,完全不影响业务。
第三个,P12证书不要随便共享,同一个证书不要签太多不同的App,更不要签违规内容,苹果现在查的很严,只要一个签的App出问题,整个证书都会被封,所以正规的服务商都会分开管理每个用户的证书,不会混着用,这点一定要提前问清楚。
第四个,如果你是H5封装的IPA,封装的时候尽量加一点简单的原生功能,不要做纯空壳,纯空壳的IPA很容易被苹果检测到,不光上架AppStore会被拒,签名也容易被封证书,我们现在加了简单的推送、定位原生模块,虽然功能还是以H5为主,但是安全多了,也不容易触发苹果的检测。
第五个,把下载链接放在你自己的H5落地页,不要直接发静态二维码,就算需要重新签名,你只要在后台更新包,链接不用换,用户打开就能下载新包,不用重新发链接,就算掉签,用户也没什么感觉,体验好很多。
说起来我现在的内测流程已经非常顺了,产品开发改完bug,H5封装生成新的IPA包,上传到签名服务商后台,选超级签名,不到一分钟就完成IPA签名,生成下载链接和二维码,我直接转发到商家群,大家扫码就能装,全程我最多花五分钟,剩下的时间都能用来对接商家改产品,太省心了。
现在我们攒了六百多种子用户,功能打磨的差不多了,ICP备案也下来了,下半年就准备修改产品,提交AppStore上架,这大半年的内测,要是没有稳定的签名服务,真的走不到现在。 作为一个小创业者,我们本来人手就少,资金也紧张,最耗不起的就是天天折腾签名掉签、管理设备证书这些琐事,原来自己弄的时候,每周要花大半天在这些事上,现在最多每个月花十分钟看一眼设备列表,删点不用的设备,其他的完全不用管,能把所有精力放在产品和运营上,这对我们来说就是最大的帮助。
之前我也担心超级签名会不会不稳定,会不会动不动掉签,其实选对了服务,用好超级签名证书池机制,真的比自己折腾稳定太多,也省心太多,这么久用下来,我最大的感受就是,专业的事交给专业的人做,省下来的时间精力,能赚比签名费多太多的钱。