我是一名做了快四年的移动应用测试,日常工作除了验证功能和兼容性,还要帮不同开发团队测试各类未上架的内测版本,前前后后接触过几十种应用授权分发方式,踩过不少坑,也摸出了不少稳定流畅使用的经验,今天就以普通测试者的第一视角,聊聊我这些年的真实使用体验。
先从最基础的安装步骤说起,不同授权方式的安装流程差异很大,我挨个梳理下我常用的操作:首先是AppStore上架的正式应用,安装步骤最简单,用户在AppStore搜索应用名称,点击获取安装即可,只需要登录自己的Apple ID,没有任何多余操作,是所有用户都能轻松上手的方式。 然后是大家常说的TF内测,也就是TestFlight官方内测,安装流程也不复杂:一般是开发发一个邀请链接,你用苹果自带的Safari浏览器打开,会自动跳转引导你先下载安装TestFlight客户端,安装完客户端之后回到邀请页面,点击「接受邀请」,就会自动在TestFlight内下载对应的测试应用,整个流程五六分钟就能走完,门槛很低。 接下来是企业签名类的专属授权和通用授权,这两类的安装步骤基本一致:开发会把打包好的ipa包或者安装链接发给你,点击链接下载之后,点击安装会弹出“无法验证应用开发者”的提示,这时候就需要做证书信任操作了。
证书信任操作我做过不下几百次,不同iOS版本路径还略有区别,给大家说下通用的流程:打开苹果手机设置,找到通用,拉到下方找到「VPN与设备管理」(老版本iOS叫「描述文件与设备管理」),进去之后就能看到刚才安装应用对应的企业级开发者描述文件,点进去之后点击「信任xxx开发者」,弹出确认框之后再点一次信任就完成了。 这里要提醒大家,iOS16之后的系统,多了一步根证书信任的操作,很多新手在这里卡壳:做完上面的步骤之后,还要回到通用页面,拉到最下方打开「关于本机」,找到「证书信任设置」,把对应的根证书开关打开,才能够正常打开应用,我最早升级iOS16的时候就踩过这个坑,折腾了半天才找到问题出在哪。 最后说下H5封装应用的安装,H5封装分两种,一种是套壳打包签了名的,安装步骤和企业签名一样;另一种就是纯网页加桌面快捷方式,直接用浏览器打开网页,点击添加到桌面就能生成图标,本质其实就是个网页书签,不需要额外的授权操作。
接触这么久的应用授权,我作为普通测试者,也对P12证书有了自己的认知,最开始我以为P12就是个随便用的签名文件,踩了无数坑之后才明白,P12证书其实是苹果开发者证书导出的、包含私钥的证书文件,苹果就是通过P12证书验证应用的合法性,P12的使用方式直接决定了签名的稳定性。 现在市面上的企业签名,本质区别就是P12证书的使用方式:专属授权用的是独立独享的P12证书,一个证书只给对应几个APP使用,不会共享给其他开发者;而通用授权就是签名商把一个P12证书卖给几十上百个开发者,几百个APP共用一个证书,这也是两者稳定性天差地别的核心原因。
接下来聊聊我用不同授权渠道的真实感受,挨个说下:
首先是AppStore上架,这是目前最稳定最流畅的渠道,没有之一。 只要应用不违规被下架,你安装之后可以一直用,更新直接在AppStore更,不会出现打不开、掉签的问题,用户体验和原生应用完全一致,没有任何额外的门槛。 但是它的缺点也很明显,审核规则严格,审核周期长,我们测试的很多beta版本、带特殊测试功能的版本根本不符合审核规则,没法直接上架,只有正式对外发布的版本才会走AppStore上架,我们测试阶段很少用这个渠道。
然后是TF内测,也就是TestFlight,这是我现在内测用的最多的渠道,因为它是苹果官方认可的内测授权渠道,稳定性比企业签名好太多,基本不会出现掉签的问题,唯一的问题就是TF签名本身有90天的有效期,也就是题目说的TF签名过期的问题,我经常碰到这种情况,也了成熟的处理方式:TF过期之后,打开APP会直接弹出“应用已过期”的提示,无法进入使用,这时候分两种情况处理,如果测试还没有结束,只是开发没有续期,只需要让开发在App Store Connect后台延长测试周期,你打开TestFlight刷新一下,点击更新就能继续使用,不需要重新删除下载;如果已经过了测试周期,或者开发要发新的版本,只需要删除手机里过期的旧应用,让开发重新生成邀请链接,重新走一遍TF安装流程就好了,而且TF会保留你同一个应用的本地数据,重新下载之后登录账号就能同步之前的数据,非常方便。 TF的优点就是官方背书,稳定,不容易掉签,不会被其他APP牵连,最多支持10000个测试设备,够绝大多数内测场景用,流畅度和AppStore上架的应用几乎没有区别,打开速度快,不会弹任何验证提示。 缺点就是下载速度偶尔会受服务器影响变慢,而且也有审核,部分违规内容过不了审,还有90天有效期的限制,需要定期续期。
接下来是专属授权和通用授权,这两个都属于企业签名范畴,我最早接触的就是通用授权,那时候不懂,图便宜选了共享P12的通用授权,一个月才一百多块钱,但是稳定性真的差到离谱,我最多碰到一个星期掉三次签,测到一半突然APP就打不开了,非常影响测试进度。 后来换成了专属授权,也就是独享P12的企业签名,体验提升了不止一个档次,我现在用的专属授权,大半年才掉过一次,还是因为我们当时测试的包加了违规功能被苹果查到了,只要包本身合规,基本不会掉,流畅度也很好,打开速度和上架的应用没有区别,也不会出现莫名闪退的情况,就是价格比通用授权贵很多,但是对于我们测试来说,稳定比什么都重要,贵点省下来的时间成本完全划得来。
然后是H5封装,H5封装大多用在临时活动页、轻工具类应用上,优点就是开发成本低,更新方便,网页改了不用重新打包发版,用户刷新就能用,但是使用体验真的很一般,流畅度比原生应用差很多,滑动会卡,推送通知不稳定,而且大部分H5封装都会用便宜的通用签名,掉签频率很高,我测过几个H5封装的应用,最多半个月就掉了,要是做的不好的H5封装,没有离线缓存,没网就完全用不了,只能用来做临时的需求,长期用肯定不行。
说完了不同渠道的感受,再聊聊我的应用失效处理方式,不同原因的失效处理方法不一样:如果是AppStore上架的应用失效,基本就是应用被开发商下架或者苹果下架,只能等重新上架,没有别的处理方法;如果是TF签名过期,按照我之前说的方法,续期或者重新下载就好;如果是企业签名失效,不管是专属还是通用,大部分都是证书被苹果吊销,也就是我们说的掉签,表现就是APP图标变灰,打不开提示未验证,通用授权掉签基本只能重新找签名商签名,重新下载安装,而专属授权掉签,先检查是证书过期还是APP违规,证书过期只要重新导出新的P12重新签名就好,违规去掉违规内容重新签名就能恢复使用;还有一种情况是系统更新之后,原来的信任证书被重置,这种不是签名失效,只需要重新做一遍证书信任操作就能打开,非常简单。
最后聊聊我这么久出来的流畅稳定用法,核心就是选对渠道,按需选择:正式对外的版本,能上AppStore一定要上,这是最稳定的选择;内测版本,人数在1万以内,优先选TF内测,官方授权稳定有保障,处理过期也很简单,体验远好于企业签名;如果TF过不了审核,或者需要更多设备安装,那就一定要选独享P12的专属授权,不要贪便宜用通用授权,只要包本身合规,专属授权可以稳定用很久,流畅度完全够用;临时的轻需求再考虑H5封装,不要对稳定性有太高期待。 另外还有几个注意点:P12证书一定要自己保管,不要随便共享给别人,不然别人用你的P12签违规应用,你的证书也会被牵连封掉,我身边朋友就吃过这个亏;安装一定要用自带Safari打开链接,第三方浏览器容易拦截描述文件导致安装失败;定期备份本地数据,万一失效重新安装也不会丢数据。
这么多年用下来我最大的感受就是,应用授权没有绝对的好坏,只有适合不适合,选对符合自己需求的渠道,就能做到稳定流畅用,就算出现问题,按照对应的方法处理也很快就能解决,不需要太担心。