我帮做个人开发的朋友测试他做的日常工具类app,大半年下来把市面上能见到的苹果签名方式试了个遍,从一开始连什么是签名都不知道,到现在掉签了都能自己解决,中间踩了好多坑,也攒了不少真实的使用感受,今天就慢慢说给大家听。
最开始接触的是企业签名,朋友说这个是最常见的不上架安装方式,我当时按照他发的链接,点开之后就能直接点安装,没一会儿手机桌面上就出来了app的图标,等加载完安装,我兴冲冲点进去,结果直接弹了个提示框,说这个开发者的证书不受系统信任,无法打开,只能点退出。我当时懵了,赶紧去找朋友要教程,才知道企业签名安装完都得手动去设置里信任证书。我拿着教程一步步找,那时候刚更了新的iOS系统,入口和旧系统不一样,我在通用设置里翻来翻去找了好久,都没找到描述文件和设备管理的入口,差点把手机设置翻烂,后来问了懂行的人才知道,新系统把这个入口藏到了VPN与设备管理的分类里面,进去之后就能看到对应的企业证书,点进去选信任,确认之后就能正常打开app了,第一次弄折腾了快小半天,现在熟了之后倒是快,就是这个流程对普通用户太不友好了,新手很容易卡在这里。
用了没多长时间,就遇上了掉签,那天我刚好要出门整理行程,点开app直接闪退还变成了灰图标,提示证书无效,我赶紧给朋友发消息,朋友说这是企业签名常见的问题,就是证书被苹果封了,得补签。掉签之后的解决办法其实也简单,那时候我们找的是共享证书的企业签名,服务商那边补签完,让我把原来的app删掉,重新打开链接下载安装就好,可问题是我那时候存了好多测试用的内容在里面,没来得及备份,重新安装之后所有数据全没了,给我心疼坏了,那天出门差点耽误事,从那之后我每次用签名app都记得先备份数据,就怕再遇上这种事。
后来朋友说,共享证书之所以容易掉,是因为好多不同的app共用同一个证书,只要其中有一个app违规被苹果查到,整个证书都会被封,所有签过的app都得掉,想要稳一点,可以用开发者自己提供的P12证书做独立签名。朋友自己有苹果开发者账号,就按照流程在开发者后台生成了对应的证书,然后用mac的钥匙串把证书导出成P12文件,设置了提取密码,发给了签名商,签名的时候直接用这个P12证书来签,相当于整个证书只有我们这一个app用,只要我们的app没问题,苹果就不会随便封证书。我们用自己P12做的独立企业签名,确实比之前共享证书稳太多了,用了好长时间都没出过问题,中间只是朋友不小心误操作吊销了原来的证书才掉签,不然还能用更久,唯一的缺点就是价格比共享证书贵不少,对于个人开发者来说还是有点压力。
企业证书出问题之后,朋友听人推荐换了超级签名,我也跟着体验了一把。超级签名和企业签名的安装流程不太一样,第一步得先获取我手机的UDID,我点进下载链接之后,网页引导我先装一个描述文件用来获取UDID,那时候手机还弹了提示,说这个描述文件是未验证的,我还吓了一跳,以为是病毒,问了朋友说没事,就是获取设备信息用的,获取完UDID之后,网页才会生成对应我手机的下载链接,点了之后才能下载安装app,安装完之后同样要去设置里信任证书,流程比企业签名还要多一步,对新手更不友好。超级签名其实原理就是用个人开发者账号把测试设备添加到列表里,再用账号证书签名,理论上来说只要账号不被封就不会掉签,我们用的时候刚开始确实挺稳,没出过问题,结果用了没多久,给我们提供超级签名的服务商用的共享账号被苹果封了,所有签过的app又全都打不开了,还是得重新签名重新下载,我又丢了一次数据,那时候我真的快烦透了,跟朋友说要不别测了,折腾不起。
朋友不死心,又听人说TF签名稳,就让我跟着测,这也就是我这次的TF签名测试报告核心内容了。TF签名其实就是把app放到苹果官方的TestFlight测试平台上,让用户下载测试,本来我以为会和之前的签名一样折腾,结果安装流程真的惊到我了。朋友给了我一个邀请链接,我点开之后直接跳转到了App Store,先让我安装官方的TestFlight app,装完之后再回去点邀请,直接就能在TestFlight里面下载我们要测的工具,全程没有让我手动去信任什么证书,下载完直接点就能打开,完全没有之前那些乱七八糟的步骤,对普通用户太友好了。用了这么长时间,我真的要说TF签名是我用过最稳的签名方式,从来没有掉过签,也从来没有打不开的时候,唯一遇到的小问题就是TestFlight的测试有有效期,到期之前朋友重新上传一遍包,我只需要在TestFlight里面点个更新就好了,数据都不会丢,完全不用重新折腾,唯一和正式上架app的区别就是图标旁边多了一个小小的测试标记,平时用根本注意不到,流畅度和正式app也没什么区别,真的太省心了。
中途我们还试过H5封装,就是朋友把做好的网页版工具封装成一个原生app的壳,再签名安装,当时想着这样会不会更简单,结果体验真的差太多了。免费封装的自带一堆广告,弹的满屏幕都是,根本没法用,找了付费的无广告封装,做出来的app也特别卡,切换页面的时候掉帧,输入文字的时候光标都半天跟不上,而且很多需要调用系统原生的功能,比如日历提醒、本地存储什么的,都用不了,体验还不如直接打开网页用,而且封装完还是要签名才能装,一样要面临掉签的问题,所以我们试了两天就直接弃用了,完全不推荐普通人用这种方式。
朋友其实也试过把app直接上架AppStore,毕竟上架成功之后是最稳的,用户直接在App Store搜就能下,也不用折腾什么签名,朋友当时花了钱开通了开发者账号,改了好多次包,第一次提交审核,没几天就被拒了,说app允许用户自定义上传内容,有内容风险,要求加全量审核机制,朋友熬了好几个晚上加了审核机制,第二次提交又被拒,说功能太简单,和网页版没有区别,不符合上架要求,朋友又加了好多原生的功能,优化了界面,第三次提交还是没通过,来回折腾了好长时间,朋友都快放弃这个项目了,最后才转头继续用签名测试,所以说AppStore上架虽然好,但是审核真的太严了,很多个人开发的小工具,或者没拿到相关资质的app,根本过不了审,钱花了时间耗了,最后还是上不去,太折腾人。
这段时间试了这么多不同的签名渠道,我作为一个普通的测试用户,最大的感受就是,选签名真的稳定性优先,千万别图便宜选那种共享证书的,掉一次签折腾一次,丢数据真的能把人搞疯。要说稳定流畅的方法,我试下来,要是没法上架AppStore,真的优先选TF签名,官方背书的测试渠道,苹果根本不会封,只要开发者按时续期,就能一直用,完全不用操心掉签的事,体验和正式上架的app几乎没差,价格也比独立企业签名便宜,性价比真的很高。要是只是小范围几个人内部测试,用自己的P12做独立企业签名也可以,比共享的稳很多,只要自己不犯错误吊销证书,能用好久。超级签名适合小范围短期测试,长期用成本太高,还容易遇上账号被封的问题,不太省心。H5封装就是不得已的备选,体验真的不行,能不用就不用。
我之前踩过的坑其实也给大家提个醒,不管用什么签名,一定要记得随时备份app里面的数据,掉签之后基本上都得重新下载,不备份真的会哭。还有就是信任证书的入口,新系统真的藏的很深,新手别乱找,直接去设置通用里面的VPN与设备管理找,别像我第一次一样翻半天。还有P12证书导出的时候,一定要记好密码,我朋友第一次导出的时候忘了密码,结果签名商根本用不了,又重新生成导出,折腾了大半天,耽误了好多时间。
这些都是我作为普通用户真实的使用感受,没有什么夸大的地方,就是把自己遇到的问题和体验都说出来,给想要用苹果签名装app的朋友做个参考,毕竟大家都想装完就能安稳用,不想天天折腾掉签补签的事,选对了签名方式真的能省好多心,我现在用TF签名测了这么久,除了更过一次版,几乎没操心过任何问题,打开就能用,和平时用的其他app没任何区别,这种体验才是普通用户想要的,不用懂什么复杂的证书规则,不用出了问题就到处找解决办法,安安稳稳能用就好。