苹果开发者账号注册完那天,我盯着后台看了快俩小时,完全不知道下一步该点哪。
我是做社区生鲜配送的创业者,之前一直靠微信小程序获客,去年想做独立APP提升用户留存,交了688的个人开发者年费,本来以为就能直接打包上线了,哪想到一堆设置要走,功能没做完也不敢直接提交AppStore审核,只能先做内测找核心用户测BUG。
最开始梳理内测流程,我查了不下十篇攻略才理出大概逻辑。 首先得有安装包,不管是原生开发还是H5封装,都得导出IPA文件才能下一步。 我那时候开发预算有限,先把调试好的业务H5封装成了IPA,省了原生开发的大笔成本,接下来就是给IPA做授权,没有苹果官方授权的IPA,用户手机根本装不上,就算装上也点不开。
我最开始图便宜,找了那种9块9一个月的共享签名,商家宣传说“无限装机永不掉签”,我信了,结果第三天早上一睁眼,内测微信群直接炸了,二十多个核心用户说APP打不开,点进去就是“未受信任的开发者”提示,去设置里刷新也没用。 我赶紧找卖家,卖家说证书被苹果封了,要等重新签发,一等就是大半天。 那时候我刚拉完内测群,第一波体验就出问题,给用户道歉道了快一上午,心态差点崩了。
苹果这边的设备管理逻辑,我也是踩了坑才彻底搞懂。 不管你用哪种方式做内测,用户安装完IPA之后,都需要手动去设置里信任你的开发者描述文件。 最开始我没做安装引导页,很多用户装完打不开就直接删了,我都不知道问题出在哪,还以为是签名掉了。 后来我专门加了一步安装引导,告诉苹果用户装完之后,去设置-通用-VPN与设备管理,找到对应的描述文件点信任,才能正常打开,这才少了大半安装问题。
另外,如果用个人开发者账号做授权,还要提前把测试设备的UDID添加到开发者后台,不然就算签了名,设备也识别不了,根本装不上。 我最开始不懂这个,手动让用户报UDID,有好几个用户输错了一位数,我添加完之后怎么都装不上,折腾了整整一天才一个个核对改对。 那时候才知道原来有自动收集UDID的工具,甩个链接给用户点一下就能自动获取,省了不知道多少事。
掉了两次共享签之后,我听圈里朋友说TF内测是苹果官方的,绝对不会掉签,我赶紧转成了TF内测。 TestFlight的体验确实好,不用用户找设备管理点信任,下载完直接就能打开,用了半个多月没出过任何问题,稳得让我惊喜。
但是用了没多久,新的问题就来了。 TF内测对测试设备的限制是100台,我那时候靠老用户拉新,内测用户已经涨到120多了,新用户根本加不进来。 而且每次更新版本,都要重新提交苹果审核,虽然比正式上架快,但也要等一到三个小时,有时候我凌晨改完一个影响下单支付的BUG,想马上推给用户,只能干等审核,急得团团转。 还有,TF下载必须跳转到AppStore,有些用户没登苹果ID,或者网络不好,就会下载失败,下载转化率直接掉了快一成。
这时候我才开始了解专属IPA授权,就是用我自己注册的苹果开发者账号,生成专属的P12证书,只给我自己的APP用,不共享给任何第三方开发者,这种授权方式稳定很多,也没有TF的100台设备限制,更新也不用等苹果审核。
自己弄证书的时候,我又踩了个大坑。 苹果个人开发者账号,最多只能同时存在两个iOS分发证书,我那时候刚进后台看不懂说明,一会儿点生成开发证书,一会儿点生成分发证书,前前后后生成了四个,结果最早生成的那个能用的分发证书直接被系统撤销了,我之前签好的所有安装包全部失效,已经装了的用户全都打不开,又要通知所有人重新下载重新安装,那波我足足掉了18个核心用户,换谁谁不心疼。
后来找了个做了五年iOS开发的老开发者给我科普,才搞懂P12证书管理的核心门道:生成完证书之后,一定要把P12文件导出备份,存在本地电脑和云端网盘各一份,不要随便在开发者后台删除已经生成的证书,也不要重复生成,超过限额旧证书就会自动失效,只要你不删不主动撤销,证书本身能用到你的开发者账号过期,和账号有效期一致。
踩了这么多坑,我也总结出了几个证书防失效的实用技巧,用了快八个月,只出过一次问题,还是因为我自己误删了备份,真的特别稳定省心。 第一个技巧,就是一定要用自己的苹果开发者账号做专属证书,绝对不要贪便宜用共享证书。 共享证书是几百个APP共用一个证书,只要有一个APP碰了违规内容,整个证书都会被苹果封,所有用这个证书的APP全都跟着遭殃,自己的证书只有自己用,只要你自己的APP内容正规,不碰违规内容,苹果根本不会主动查你。
第二个技巧,不要频繁撤销证书和重签。 很多人一有点小问题就撤销证书重新生成,苹果的风控系统会判定你是在批量签名倒卖证书,很容易把你的证书封掉,甚至直接封号。 我现在一般一个证书用到底,更新版本只更新描述文件,或者做增量更新,不会随便动根证书,稳得离谱。
第三个技巧,哪怕是H5封装出来的IPA,也要把包体积控制好,不要乱加多余的隐私权限。 苹果对体积过大、过度索要权限的APP监管会更严,我一般把H5封装的包控制在100M以内,只申请配送需要的定位权限和上传头像用的相册权限,从来没因为这个被苹果盯上过。
第四个技巧,证书和账号的信息不要随便给外人。 很多第三方签名平台会问你要开发者账号的账号密码,你给出去之后,他们会拿你的账号给别的APP签名,签的APP多了就容易触发风控,一不小心就封号。 我现在都是自己管理证书,最多用第三方工具帮我打包签名,只上传自己生成好的P12和描述文件,不给账号密码,安全又省心。
苹果开发者账号注册完成之后,还有一个设置一定要做,就是尽早开启双重验证,把自己常用的设备添加为信任设备,不然你登录后台老是需要验证,还容易被不法分子盗号,号被盗之后,盗号的人会拿你的账号去签违规APP,最后被封的还是你,我身边就有朋友吃了这个亏,内测了大半年的APP直接没了,欲哭无泪。
现在我内测跑了快一年,功能改得差不多了,最近刚提交AppStore上架,一次就过了审。 其实我之前觉得内测就是找几个人用用,后来才发现,内测不光是测功能BUG,还能提前把安装、授权这些用户端的问题都解决,等到正式上架的时候,就少了很多不必要的麻烦。 我现在还有一百多个种子用户在做灰度测试,一直用专属IPA授权,稳定得很,从来没出现过大面积掉签的情况,用户不用折腾,我也不用天天早上起来先刷群看有没有人说APP打不开,原来每天要花一个小时处理安装问题,现在一个星期都没一个人找我问安装的事,省出来的精力我全都能用在改功能、做运营上。
作为一个小本创业的人,我真的觉得这套方法太适合我们这种初期项目了,不用一开始就花几万块买企业开发者账号,个人开发者账号一年才688,自己做专属IPA授权,成本低,还能自己掌控所有流程,不用看第三方签名商家的脸色,掉不掉签自己说了算。 H5封装也帮了我大忙,原来的H5业务不用重新开发,直接封装成IPA就能当APP用,授权之后安装体验和原生APP没区别,普通用户根本感觉不出来,还能调用定位、摄像头这些原生能力,完全满足内测需求,等内测验证了商业模式,再攒钱做原生开发也不迟,不用一开始就砸大把钱进去,把创业风险降得很低。
直到现在我还是会给身边做内测的创业者安利这套方法,毕竟稳定省心对于我们初期创业者来说,真的太重要了,少出问题,就能多花时间做正事,这不就是我们创业最需要的状态吗。