苹果签名证书mobileprovision我的使用感受
我做个人小应用开发测试挺久了,大部分时候做的都是还没完善的内部测试版本,没法走官方上架流程,所以一直跟各种苹果签名打交道,前前后后踩了数不清的坑,也摸出了不少能用的经验,今天就把这些真实的使用感受写出来,给和我一样的普通测试用户做个参考。
最开始接触签名的时候,我完全是个小白,什么都不懂,找别人弄好签名拿到安装包之后,直接点安装,走完安装流程之后点开应用,直接弹出了不信任开发者的提示,直接进不去,那时候我慌得不行,以为包坏了,找提供签名的商家扯了快半天,最后才知道是要手动去设置里信任证书。现在我对这个流程已经熟到不能再熟了,一般来说,不管哪种签名,只要不是官方渠道的,安装完之后都要走信任流程,安装本身很简单,现在大部分服务商都提供在线安装链接,只用打开苹果自带的浏览器点安装,等桌面出现应用图标就算安装完成了,接下来就是信任证书的步骤:退回到设置界面,找到通用选项,往下慢慢滑就能找到描述文件与设备管理的入口,点进去就能看到刚刚签名好的应用对应的描述文件,也就是我们常说的苹果签名证书mobileprovision对应的文件,点进这个文件之后点信任,等系统确认完成就能退出来打开应用了。我最开始找不到这个入口,还是因为系统更新之后入口换了位置,那时候对着旧教程找了好久都找不到,还以为是证书本身出了问题,现在想想还挺好笑,新手第一次接触这个流程,有点慌乱太正常了,多操作两次就能记住位置。
说到P12证书,我最早一直以为这个东西都是服务商那边处理,我作为普通用户不用管,后来自己学着做签名才明白P12的重要性。P12其实就是开发者证书导出后的文件,里面包含了证书本身和对应的密钥,如果自己有开发者账号,导出P12之后就能直接拿来给应用签名,我第一次自己导出P12的时候,就踩了坑,导出的时候没按要求设置密码,导入到签名工具里一直报错,折腾了半天才弄明白问题出在哪,后来按照教程设置了密码才顺利导入,原来P12的使用也有不少小细节,不是随便导出就能用的。后来我还弄错过一次P12,把不同应用的P12弄混了,导错了证书,签出来的包根本没法安装,又重新导出重新签名,浪费了好长时间,从那之后我就把每个P12都按用途分好类,存在云盘里备份,对应的密码也记在专门的笔记里,再也没弄错过。
接下来聊聊我用过的各种签名渠道,每个渠道的感受都不一样,我一个个说。最早用的是企业签名,那时候听别人说企业签名价格便宜,能装很多设备,就找了个商家弄,最开始用着还挺顺,没什么问题,结果用了没多长时间就出问题了,打开应用直接灰屏,点不开,这也是我第一次知道什么叫掉签。掉签之后我赶紧找商家,商家说给我补签,补完之后重新下了包安装,走了一遍信任流程才好,结果没几天又掉了,那段时间我给几个朋友做内部测试,每次掉签大家都来找我,我还要一个个发新包,重新说一遍信任流程,麻烦得不行,心态都快炸了。后来才知道,企业签名也分不同类型,共享证书的便宜但是特别容易掉,独立证书的稳定很多但是价格贵不少,我最开始贪便宜选的就是共享证书,不掉才怪。后来换了独立证书的企业签名,确实稳定了很多,很少掉签,就是价格摆在那,长期用对我这种个人测试用户来说,压力确实不小。
企业签名掉签掉怕了之后,我接触了超级签名,超级签名是用个人开发者账号做的,最吸引我的点就是掉签之后不会影响已经安装好的应用,这点比企业签名好太多,企业签名一掉所有装过的都用不了,超级签名就算掉了,已经装在设备上的还能继续用,影响小很多。而且超级签名安装的时候大多不用手动去设置里信任,点完安装就能直接打开,流程比企业签名简单很多,新手用着更方便。但是超级签名也有不小的问题,它是按下载量收费的,测试的人多了之后,成本比独立企业签名还高,而且最近这几年监管变严,很多做超级签名的账号动不动就被封,我之前就遇到过一次,买了不少下载量,结果没用几次服务商的账号就被封了,所有签名都用不了,找商家也找不到人,钱打了水漂,挺闹心的。现在我只用超级签名做几个人的短期测试,长期用不敢选。
之后我开始用TF签名,也就是上架到苹果官方的测试平台TestFlight,用了之后我就再也不想换其他渠道了,TF签名真的太稳了,因为是官方的测试渠道,只要审核过了,基本不会掉签,我用了这么久,从来没遇到过掉签的情况,而且安装流程都是官方的,用户只要下载TestFlight,点开邀请链接就能直接安装,不用手动信任证书,也不会有任何安全提示,体验特别好。安装量也够大,完全满足内部测试的需求,就算很多人一起测也没问题。当然TF也不是一点问题都没有,它需要过苹果的审核,审核比超级签名和企业签名严一点,不符合规则的内容过不了,而且提交之后要等审核,不是马上就能用,不过一般审核速度都挺快,只要你的应用不违反苹果的规则,大部分都能过,就算第一次被打回来,改改就能过,过了之后就不用再操心任何事,真的省了太多心,我现在大部分测试应用都放在TF,太舒服了。
H5封装我也试过,就是把网页应用封装成原生应用的格式再签名,我之前做过一个小工具,本来就是网页版的,想着封装成客户端方便大家用,就弄了H5封装,弄完签名安装之后,用着其实还行,打开速度也能接受,就是体验不如真正的原生应用,很多原生功能用不了,要是对体验要求不高,只是凑合用的话还行,要是做正经的功能测试,体验确实不太好。而且H5封装本身不影响稳定性,稳不稳还是看你用什么签名,封装只是把包换个格式而已,这点我之前也搞错了,最开始封装完闪退,我还以为是签名出了问题,跟服务商吵了半天,最后才发现是封装的时候参数错了,真的挺尴尬的。
最后就是AppStore上架,这个肯定是所有人都知道的,直接上架官方商店,是最稳定体验最好的,所有用户都能直接搜索下载,装完就能用,不用弄任何证书,也不会掉签,不管对开发者还是用户来说,体验都是满分。但是上架的门槛真的太高了,审核特别严,很多内部测试应用,或者还没完善的应用,还有不符合平台规则的应用,根本没法上架,我前前后后提交过好多次,都被打回来,改了好多遍还是过不了,要是能顺利上架肯定没人会选其他签名,但是大部分时候我们做测试的,都达不到上架要求,只能用其他签名方式。
聊完渠道,再说说掉签之后的解决办法,我掉签掉多了,也摸出了规律。如果是企业签名掉签,只能找服务商补签,补完之后删掉原来的应用,重新下载安装,重新走信任流程,缺点就是原来应用里的数据会全部丢掉,我之前就因为掉签丢过好多测试数据,心疼了好久,后来养成了随时备份数据的习惯,就不怕了。如果是超级签名掉签,一般是账号出了问题,只要重新换账号签名就好,已经安装的应用还能继续用,只需要给新设备重新签名就好,影响小很多。TF签名基本不会掉签,除非你自己把应用从TF下架,所以根本不用操心掉签的事。还有就是遇到掉签千万不要乱点陌生的补签链接,我之前就遇到过有人发所谓的自动补签链接,点进去要输苹果ID密码,差点被骗,后来才知道那是盗号的,所以掉签之后一定要找原来的服务商处理,别乱碰外面的链接。
说了这么多,我也总结出了让签名稳定流畅的方法,要是能上架AppStore肯定优先选上架,这不用多说,官方的渠道永远是最稳的。要是上架不了,那就优先选TF签名,毕竟是苹果官方认可的测试渠道,只要审核过了,基本不会出问题,也不用天天担心掉签,体验好又省心,大部分测试应用都能满足要求,只要你不碰违规内容,审核基本都能过。要是TF也过不了审核,那就选独立证书的企业签名,一定要找靠谱的大服务商,别贪便宜选那种价格特别低的共享证书,便宜是便宜,掉签掉的你怀疑人生,天天补签折腾下来,花费的时间精力比多花的那点钱亏多了,我自己贪便宜踩过的坑,不想让别人再踩。还有就是自己一定要备份好P12证书和对应的苹果签名证书mobileprovision描述文件,密码记好,分类放好,就算服务商跑路了,你手里有证书,换个服务商就能直接签,不用重新弄一遍,省好多事。
我最开始接触苹果签名的时候,觉得这东西特别复杂,又是证书又是描述文件又是P12,一头雾水,花了不少冤枉钱,踩了无数坑,现在用久了才发现,只要找对适合自己的渠道,选靠谱的服务商,其实根本没那么麻烦,最核心的需求就是稳定,稳定比什么都重要,再便宜天天掉签也没用,折腾都折腾死了。现在身边有朋友做测试找我问签名的事,我都会把这些经验告诉他们,让他们别光看价格,先看稳定性,少踩点我踩过的坑,毕竟大家做开发做测试都不容易,本来时间就不够,没必要浪费在掉签补签这些琐事上面。现在我用签名已经越来越顺手,很少出问题,大部分时间都能放在功能测试上面,不用天天为签名的事发愁,这种感觉真的挺好。