我平时就喜欢尝鲜各种还没正式上线的测试APP,尤其是一些内部工具和小众玩法的应用,接触多了,也就摸透了苹果这边各种应用授权的门道,踩过不少坑,也总结出很多实用的经验,今天就聊聊我这些年的真实使用感受。
最开始接触非AppStore的应用,都是从通用授权开始的,那时候啥都不懂,看到玩家群里分享的安装包,直接下载下来用电脑端的助手工具一键安装到手机,点开来直接弹了个“不受信任的开发者”,根本打不开,我那时候翻了半天设置才找到信任证书的入口。 现在的iOS版本,流程其实也没差多少,安装好之后打开提示无法使用,就打开设置,点通用,往下拉找到VPN与设备管理,进去之后就能看到对应开发者的描述文件,点一下蓝色的信任按钮,确认之后就能退出来打开APP了,这个流程我现在闭着眼都能走完,第一次找的时候翻了快十分钟,还以为是我手机出问题了。
通用授权那时候用着确实方便,免费就能装,到处都能找到分享的安装包,但是问题太多了,最烦的就是动不动失效,有时候我正刷着里面的内容,退出去回个消息再进来,直接就打不开了,提示还是未授权,那时候我连失效怎么解决都不知道,只能删掉重新找新的安装包,好几次弄丢了里面存的笔记和聊天记录,闹心了很久。 后来接触多了才知道,不管是通用还是专属授权,失效之后都有对应的解决办法,不是只能重新找包这么麻烦。 要是你自己手里有签名用的P12证书,直接重新给安装包签一次名,覆盖安装到手机上就行,大部分时候数据都能保留下来,不用删掉重下;要是证书到期或者被吊销了,那就重新生成新的证书,导出新的P12再签就行;要是遇到P12证书损坏,那也不用慌,我自己就遇到过好几次P12损坏的问题,最开始那次折腾了快一个小时,后来才摸清楚修复的方法,首先要看是不是传输的时候出了问题,我第一次损坏就是用微信传的P12,微信自动压缩修改了文件后缀,把原来的.p12改成了.txt,我导入的时候根本识别不出来,一直提示证书损坏,后来改回原来的后缀就好了;还有一次是传输过程中文件损坏,重新让对方发了邮箱附件,下载下来就正常了;要是导出P12的时候没把私钥一起导出来,也会提示损坏,这时候就要让开发者重新从苹果开发者后台导出,把证书和对应的私钥一起打包导出,就能正常使用了;要是证书本身已经被苹果吊销了,那就算文件没坏也用不了,只能重新申请新的证书再导出新的P12,这就是我亲测有效的P12损坏修复方法,大部分问题都能解决。
说到P12证书的使用,其实我最开始也不懂这个到底是什么,后来用多了才明白,P12就是带签名密钥的证书文件,相当于给APP授权的钥匙,给IPA包签名的时候就要把P12导入签名工具,输入对应的密码,工具就会用证书里的密钥给APP签名,签好名的APP才能通过苹果的验证,安装到手机上打开。 用P12的时候要注意,最好不要用微信这类聊天工具直接传,容易损坏文件,最好打包成压缩包或者发邮箱附件,我现在拿到P12第一时间都会先导入测试一下,看看能不能正常识别,有问题及时重新弄,别等要用的时候才出问题耽误事。
这么久我用过各种各样的授权渠道,每个渠道的感受都不一样,先说说通用授权,就是很多APP共用一个证书签名,很多人都能用,优点就是免费获取方便,到处都能找到分享,适合那种临时用一两天,用完就删的APP,要是长期用真的受不了,我之前有个常用的打卡工具就是用通用授权装的,半个月掉了四次签,每次都要重新找包,有时候发分享的人没及时更,我大半天都用不了,太闹心了。
然后是专属授权,就是一个证书只给少数几个APP签名,一般都是自己或者小范围几个人用,不会分享出去给很多人用,我现在长期用的内部工具都是用专属授权,稳定性比通用授权好太多了,我有一个工具用专属授权装的,快四个月都没掉过签,只有一次是证书到期了,重新签了一次就好了。 专属授权只要你不随便把安装包和证书分享出去,不批量装很多人,苹果很难检测到吊销证书,所以稳定很多,就是稍微麻烦一点,需要自己保管好P12证书,但是长期用下来,比天天掉签重新装省心太多了,花点小钱弄个专属授权,真的比免费的通用授权舒服太多。
接下来就是TF内测,这个我用的也很多,就是苹果官方的TestFlight内测渠道,我觉得这个是除了AppStore之外最稳的方式了,流程也很简单,你先在AppStore下载一个TestFlight的官方APP,然后拿到内测邀请链接,点开链接就能直接跳转到TestFlight里面下载对应的APP,根本不用自己找描述文件信任证书,也不用碰什么P12,下载完直接就能打开用,我用了这么久TF的APP,从来没有遇到过无缘无故掉签打不开的情况,只有一次是内测到期了,开发者重新发了邀请就能继续用,还有一次是名额满了,进不去,除此之外从来没出过问题。 TF唯一的缺点就是每个APP最多只能放一万个内测名额,不是所有人都能拿到资格,而且更新的时候需要开发者重新提交审核,比直接签名的安装包更新慢一点,但是架不住稳定啊,要是能拿到TF的名额,我肯定优先选TF。
然后是H5封装,这个我也用过好几次,很多中小开发者做工具类应用,图快就会把网页封装成APP壳,本质还是打开网页,套个APP的外壳,这种一般也需要签名才能装到苹果手机上,我之前用过一个商家用的对账工具就是H5封装的,最开始用的通用授权,也是没几天就掉签,后来换成专属授权就稳定了,H5封装的体验其实原生,说白了就是做起来快,开发成本低,但是体验真的不如原生APP,网络稍微差一点就加载不出来,整个APP都动不了,只能关掉重开,要是临时用用还可以,长期用真的不太舒服。
最后就是AppStore上架的应用,这个不用多说,大家都很熟悉,直接在AppStore搜索就能下载,不用任何授权,不用找证书信任,也不用管什么P12,下载完直接点开就能用,是最稳定的,只要开发者不把APP下架,就能一直用,从来不会出什么打不开掉签的问题,更新也方便,自动就能更,缺点就是苹果的审核太严了,很多内部工具、测试版应用,还有一些不符合规范的应用根本上不了架,所以才会有那么多其他的授权方式,要是能上架AppStore,那肯定是最好的选择,体验拉满,什么问题都没有。
说了这么多,我也总结出来了让应用授权稳定流畅的方法,首先如果能上架AppStore肯定优先选,体验最好最稳;要是不能上架,能拿TF内测名额也优先选,官方的内测渠道,稳定不用操心,就是有名额限制;要是TF也进不去,那就一定要选专属授权,绝对不要图便宜用免费的通用授权,通用授权太多人共用,很容易被苹果检测到吊销证书,掉签掉到你怀疑人生,专属授权一个证书只签少数APP,不随便分享,很少会被检测到,稳定太多。 然后平时要保管好自己的P12证书,存个云备份,防止本地文件损坏丢失,导出的时候一定要确认带私钥,传输的时候不要用微信直接传,最好打包压缩或者发邮箱,避免P12损坏,真的遇到损坏了,按照我之前说的方法一步步排查,大部分都能修复,不用重新弄证书。
我之前还遇到过很多奇怪的小问题,比如有一次我改了手机时间玩游戏,改完之后忘了改回去,结果所有签名的APP都打不开,提示证书失效,我折腾了半天以为证书掉了,后来才发现是手机时间不对,证书验证不通过,改回自动设置时间就好了,原来还有这种问题,我之前从来没想到;还有一次我信任完证书还是打不开,后来才发现是打包的时候描述文件和P12不匹配,重新签名一次就好了;还有一次我导入P12一直提示密码错误,后来才发现是复制密码的时候多带了一个空格,去掉空格就好了,这些小问题看着不大,折腾起来真的费时间,熟悉了之后几分钟就能解决。
这么久用下来,最大的感受就是,稳定真的比什么都重要,不要图一点便宜去用不稳定的渠道,掉一次签耽误的时间精力都比那点钱值钱,尤其是存了重要数据的APP,掉签搞不好数据就没了,得不偿失,现在我选授权渠道,第一看稳定,第二才看方便,用久了也就顺了,遇到问题也能很快解决,不会像最开始那样慌手慌脚的。