我自己平时喜欢捣鼓点小工具,折腾出一款适合自己日常用的小APP,不想直接公开发,只想装在自己和几个朋友的苹果手机上测试用,一开始完全不懂苹果这边的规则,下载安装的时候才发现,没上架的APP根本装不上,后来才听说要做苹果签名才能安装,这大半年折腾了好多种签名,踩了不少坑,也攒了不少实际使用的感受,今天就随便说说。
第一次接触签名,找的是别人说花费不多的那种,拿到安装链接之后,按照提示用手机自带的浏览器打开,点下载,等了一会桌面就出来图标了,结果点上去弹出来一串提示,说未受信任的开发者,根本打不开,我当时整个人都懵了,不知道哪里出问题,搜了好久才弄明白流程,原来这种非官方上架的签名,安装完之后要手动去信任证书才行。那时候我用的手机系统是比较新的版本,搜了好半天教程都是旧的,说找描述文件与设备管理,我在设置里翻来覆去搜不到,开了搜索也出不来结果,折腾了好久才发现新版本系统改了名字,在设置通用里面找到对应的设备管理项,进去就能看到刚才安装对应的企业开发者证书,点进去选信任,弹出来确认之后就能用了。那一次折腾了好半天才弄好,本来挺开心的,结果没用多久就出问题了,某天打开手机直接看到APP图标变灰,点进去根本验证不通过,也就是大家说的掉签了,当时我所有的记录都存在里面,没有备份,一下子全没了,心疼了好久,后来才慢慢弄明白掉签是怎么回事,也知道了不同情况下掉签该怎么解决。
接触多了才知道,P12签名证书用于iOS应用签名,是很多签名流程里都会用到的东西,我一开始完全不知道这是什么,听签名商说可以用自己的P12证书签名,稳定性会好很多,我还觉得麻烦,不想折腾,后来听多了才想着自己倒腾一下导出,原来也没有那么复杂,只要在电脑上打开系统自带的钥匙串工具,找到自己开发者账号对应的证书,展开之后能看到证书下面还有密钥,要同时选中证书和密钥才能导出成P12格式,导出的时候还要设置一个密码,给签名商的时候一起把密码发过去就行。我第一次导出的时候没搞清楚规则,只选了上面的证书,没选下面的私钥,结果导出来的文件发给签名商,人家说根本用不了,没办法只能重新弄,折腾两次才弄对,原来P12签名证书必须带上私钥才能正常用来签名,少了这一步整个文件都是废的,这点真的要记牢,不然白忙活半天。
这段时间我把市面上常见的签名渠道都试了个遍,每种都有不一样的感受。最早用的就是企业签名,一开始图便宜选了共享证书的企业签名,就是很多个APP共用一个企业开发者证书签名,好处就是花费不多,操作也快,弄完没多久就装上了,坏处就是稳定性真的太差,掉签掉的太频繁,每次掉签都要找商家重新签名,重新下载安装,要是没备份数据就全丢,我第一次丢数据就是栽在这上面。后来听人说用自己的P12做独立企业签名会稳定很多,就是你自己的证书,只给你自己的APP用,不会和别人共用,被苹果检测到的概率低很多,掉签的概率自然就低了,我弄了之后确实感受不一样,用了好长时间才出一次问题,比之前共用证书稳定太多了。企业签名掉签之后的解决办法就是重新签名重装,要是有备份的话恢复数据就好,没有备份就只能认栽,所以我后来不管用什么签名,都会提前开云备份,再也没丢过数据。
接下来我也用过一段时间超级签名,这种签名是用个人开发者账号来做的,需要先把你要用的设备信息加到开发者后台才行,第一次弄的时候要先获取设备的识别信息,按照提示装个描述文件就能拿到,我那时候输错了信息,结果折腾好久一直装不上,后来核对了半天才发现弄错了,重新弄好之后才装上。超级签名装好之后不用手动去信任证书,下载完直接就能打开,这点比企业签名方便很多,体验还是不错的,就是花费会高一些,而且稳定性要看用的账号正规不正规,要是用的是不正经的账号,很快就会被封,然后就掉签,我那时候用的是正规账号,用了好久都没出问题,就是每次安装都要算次数,装的多了花费就上去了,所以几个朋友用还好,人多了就不太划算。超级签名掉签之后一般就是账号出问题了,需要换个账号重新签名,重新加装,和企业签名一样,有备份就不怕丢数据。
我现在一直用的是TF签名,说起来其实就是用苹果官方的测试平台TestFlight来装,真的太稳了,弄好之后给个链接,打开就能跳转到TestFlight,下载完平台之后就能直接下载安装你的APP,不用信任证书,也很少会掉签,因为是苹果官方的平台,规则都是苹果定的,只要你的APP没问题,根本不会随便出问题。我第一次弄的时候,因为导出的安装包格式不对,折腾好久才上传成功,后来就一直没问题,偶尔会遇到网络不好下载慢的情况,切个网络就能解决,都是小问题。TF签名就算到期了,只要重新上传一下就能继续用,原来的APP数据也都在,更新一下就好了,不用重新安装,这点比别的签名方便太多。我之前还担心审核不好过,结果没想到TF的审核比AppStore松太多,只要不是违规的内容,很快就能过,不用折腾好久。做TF签名也可以用自己的P12证书上传,更放心,稳定性也更好。
我之前因为懒得写原生代码,还试过把网页做成H5封装的APP,然后再做签名,体验真的不太好,封装完之后打开速度慢,很多原生功能都用不了,调用个手机的基础功能都卡半天,而且就算做好了签名,该掉签还是掉签,有时候还会被苹果拦截,打开就提示不安全,我用了没多久就换掉了。当然要是做个简单的展示类的东西,不要求体验,H5封装也还行,省得写原生代码,就是体验确实比不上原生的。H5封装掉签之后的解决办法和普通签名一样,重新签了重装就好,没什么特别的。
后来我测试的差不多了,也试着上架过AppStore,上架成功之后是苹果官方签名,真的一点问题都没有,从来不会掉签,只要不违规下架就能一直用,用户下载也方便,直接在AppStore就能找到,但是审核真的太严了,我前前后后被拒了好多次,一会说缺这个材料,一会说功能不符合要求,折腾了好久才上去,对于我们这种只是做个小工具自己用或者给几个朋友用的人来说,上架的时间成本门槛都太高了,大部分时候还是放在测试渠道用更划算。AppStore上架肯定是最稳定的,就是门槛太高,不是随便什么APP都能上去的。
踩了这么多坑,我最大的感受就是想要稳定流畅的使用,能用上官方的渠道尽量用官方的,要是还在测试阶段,优先选TF签名,真的比别的乱七八糟的渠道稳定太多,花费也不高,用着放心,几乎不用操心掉签的事。如果一定要用企业签名,千万不要贪便宜用共享证书,一定要用自己的P12做独立签名,自己的证书自己掌控,别人不会随便加别的APP进去,被苹果检测到的概率低很多,掉签的次数自然就少了,就算要换签名商,直接把自己的P12拿走就能用,也很方便。导出P12的时候一定要记得带上私钥,密码保存好,不要随便把证书给不靠谱的渠道,虽然一般不会出问题,但是还是要注意信息安全。如果用的设备不多,超级签名也可以,但是一定要找靠谱的渠道,用正规的账号,不要用那种来路不明的黑号,不然用不了多久就掉签,白花冤枉钱。不管用什么签名,一定要记得备份数据,掉签虽然麻烦,但是有备份在,重新装完就能恢复,不会像我第一次那样丢了所有内容,悔都来不及。
我之前还遇到过很多小问题,比如有时候企业签名信任完证书还是打不开,一般就是证书已经失效,也就是已经掉签了,只能重新签,还有超级签名加完设备还是装不上,一般就是信息输错了,核对一遍就能解决,这些小问题折腾多了就都知道怎么处理了。一开始我觉得苹果签名这个事太复杂,各种名词搞不懂,P12证书我以为是什么很难弄的东西,结果自己跟着教程走,没多久就能弄好,也没有那么难,只要自己愿意折腾,都能弄明白。我现在用TF签名用了好久,每天打开都很流畅,从来没有突然掉签不能用的情况,几个朋友要使用,直接发个链接就能装上,也不用折腾半天,真的很舒服,要是早点知道这个方法,也不用踩那么多前面的坑了,折腾这么久也也算明白了各种签名的优缺点,知道什么场景用什么签名最合适。