我平时喜欢琢磨点符合自己使用习惯的小工具,做了个用来整理本地资源的小工具之后,安卓端安装很顺利,到苹果这里卡了壳,才知道未上架的APP想要在苹果手机上安装,必须做苹果签名,这也就开始了我大半年的苹果签名使用摸索之路,踩了不少坑,也攒了不少实打实的经验。
最开始接触的是企业签名,那时候什么都不懂,随便找了个报价看起来很合适的渠道,拿到安装链接之后,顺着提示点击安装,没等多久就装好了,结果打开的时候弹出了不受信任开发者的提示,我那时候以为是APP带了什么问题,差点直接删掉,后来上网查才知道,这是苹果对未上架企业签名APP的正常提示,不是APP本身的问题,需要手动去信任证书才能打开。我拿着手机找信任证书的入口,那时候用的是新更新的iOS系统,跟着旧教程找根本找不到,翻遍了设置通用的所有选项,一开始错跑到关于本机里翻,翻了好久都没看到设备管理的入口,后来才知道要往下拉,在VPN选项的下方,好不容易找到对应的描述文件和证书,手滑点错直接删除了描述文件,装好的APP直接打不开,又得重新下载安装,那时候网络不好,重新下载花了好长时间,折腾半天才算弄好,第一次走完信任证书流程,真的觉得太麻烦了。
好不容易能用了,稳了没几天,某天打开APP直接闪退,不管怎么重启手机、调整设置都进不去,我这才知道是掉签了,也就是苹果吊销了证书的使用权限,就算装好了也没法用。找卖家询问,对方说掉签是常事,会帮我重新签名,给我新的安装链接,结果重新安装之后,我之前整理了好久的资源分类记录全都不见了,又花了一下午重新整理,那时候就下定决心,一定要找到稳定不怎么掉签的方法,不想再这么折腾了。掉签次数多了之后,我也摸出了对应的解决办法,不同签名掉签解决方式不一样,企业签名掉签大多是因为共享证书被苹果检测到违规应用,整份证书都会被牵连,找服务商重新签名拿到新链接安装就可以,只要提前备份好数据,重新安装后导入数据也不会有太大损失,就是麻烦一点。
后来认识了同样做小工具的朋友,他告诉我可以自己申请开发者账号,生成P12证书之后上传给签名平台,用自己的证书签名,控制权在自己手里,不会被别人的违规应用牵连,稳定性会好很多。我照着他说的步骤操作,申请好账号之后在后台生成证书,第一次操作错了好多地方,先是选错了证书类型,把生产证书选成了开发证书,导出P12的时候又忘了设置密码,上传到签名平台之后一直提示证书验证失败,折腾了快半天还是不对,最后还是朋友帮我检查才找出问题,改完之后才成功上传。自己弄P12证书虽然麻烦一点,但是真的踏实,所有信息都在自己手里,不用跟别人共享证书,别人签了什么应用也影响不到我,从那之后用自己P12签的超级签名,真的好久都没出过问题。
说到超级签名,体验真的比最初的共享企业签名好太多,超级签名是直接把设备绑定到个人开发者账号下,安装的时候点击链接就能直接装,装完直接可以打开,不用再跑到设置里面找证书信任,对不太懂手机操作的朋友特别友好,之前用企业签名的时候,好多朋友都来找我问怎么信任证书,换成超级签名之后,几乎没人再问这类问题,装完就能直接用,省心很多。唯一的限制就是每个个人开发者账号能绑定的设备数量有限,不过只是给身边几个朋友用,完全够了,就算真的不够用,再申请一个账号就是,也不是什么麻烦事,超级签名要是真的掉签,一般都是开发者账号出了问题,检查账号状态之后重新生成P12证书,再重新签名安装就可以,处理起来也不复杂。
后来慢慢有更多人想要用我的小工具,超级签名的名额不够用了,我就试着用了TF签名,TF签名其实就是走苹果官方的TestFlight测试渠道,本身就是苹果允许的测试方式,所以稳定性要比很多非官方签名好很多。弄的时候只需要把安装包传给服务商,他们帮忙上传到TestFlight之后给我一个链接,想要安装的人点链接就能跳转下载,我第一次操作的时候,点链接半天没反应,以为哪里出了错,折腾好久才知道要先从AppStore下载TestFlight这个官方APP,不然链接根本打不开,弄明白之后其实特别简单。TF签名用到现在,从来没掉过签,也没人反馈打不开,真的特别稳,唯一的小缺点就是安装的时候多一步跳转,用习惯之后其实也不麻烦,更新的时候跟在AppStore更新差不多,操作很简单,就算是新手也能很快学会。
之后我做了一个供几个朋友共享的在线日程网页,想要做成APP方便打开,不用每次都输网址,就找了人做H5封装,第一次封装完成之后直接签了名,装上去体验特别差,打开要等好久,切去后台聊两句天再回来,就得重新加载,点个按钮都能卡半天,而且没用多久就掉签了,又弹出了证书不信任的提示。我去找封装的商家询问,才知道我没做H5封装应用加固,原来没加固的H5封装包,代码特征很容易被苹果检测出来,自然就容易被吊销证书,而且没有对资源做优化,运行起来也会特别卡顿。我按照要求做了H5封装应用加固,重新打包签名之后再安装,体验提升得特别明显,原来点图标之后要等好久才能进去,现在点一下直接就能打开,切后台回去也不用重新加载,流畅度跟原生开发的APP几乎没区别,用到现在已经很久了,从来没掉过签,也没再弹出过不信任的提示,原来做H5封装,应用加固真的是不能省的一步,之前就是想省一点小事,结果反而添了更多麻烦。
我后来也试着把小工具做了AppStore上架,想着既然有不少人用,干脆上架省得一直折腾签名的事,结果上架真的太折腾了,交了年费之后,提交审核好几次都被打回来,第一次说我的APP可能涉及未审核内容,要求我加上内容审核机制,第二次又说功能太简单,不符合上架要求,让我补充更多功能,改来改去折腾了好久才通过审核。上架之后确实稳定,所有人直接从AppStore搜索下载,更新也能自动更,根本不用管签名的事,但是对于只是小范围使用的小工具来说,真的太折腾了,要符合苹果各种各样的规则,改这改那,每年还要交年费,成本和精力都耗费太多,如果只是自己和身边朋友用,真的犯不着,不如签名来得方便快捷。
踩了这么多坑之后,我也摸出了让签名稳定流畅的法子,首先就是不能贪便宜,那种报价特别低的共享企业签名,看起来省钱,掉起签来能把人烦死,每次重签都可能丢数据,算下来反而更闹心。如果只是给不多的人用,用自己的P12证书做超级签名最稳妥,控制权握在自己手里,不会被别人牵连,安装体验也好,不用折腾信任证书的步骤。如果使用的人多一些,直接选TF签名就好,苹果官方认可的渠道,几乎不会掉签,稳定性是所有签名类型里数一数二的,只是多一步安装TestFlight,用习惯之后根本不觉得麻烦。如果是做H5封装的APP,一定要做H5封装应用加固,不然后续不仅运行卡顿,还特别容易被苹果检测出问题导致掉签,加固之后不管是流畅度还是稳定性,都会提升好几个档次,这一步绝对不能省。
接触过不同的签名渠道之后,也有很多真实的感受,企业签名要是找对了独立证书的渠道,其实稳定性也还可以,就是价格会比共享证书贵不少,适合不想折腾其他方式的人用,就是掉签之后还是要重新安装,有点麻烦。超级签名胜在安装方便,适合小范围使用,自己把控证书也更安心。TF签名是真的稳,只要不主动下架测试,基本不会出问题,是目前我用过的最稳定的非上架签名方式。H5封装适合把网页改成APP,只要做好应用加固,体验也能很好,不用纠结原生开发的成本。AppStore上架适合正式对外发布的APP,小工具小范围用真的没必要折腾。
我作为一个普通的测试用户,只是想要做点符合自己需求的小工具,苹果签名确实解决了我的大问题,不用折腾繁琐的上架流程,就能让自己和朋友用到想要的APP,只要选对了适合自己需求的方式,做好该做的步骤,其实完全可以做到稳定流畅,不用天天为掉签发愁,那些坑只要提前知道,完全可以避开。