我接触苹果签名有很长一段时间了,平时就爱捣鼓各种还没上架的内测应用,还有一些不符合上架规则的小工具,用得多了自然踩过不少坑,也摸出了不少实用的经验,前阵子整理电脑里存的证书文件,翻到好几个备份的P12签名证书与pem证书,想起这些年折腾签名的各种事儿,就想聊聊我作为普通测试用户的真实感受。
最开始第一次安装签名应用的时候,我完全是一头雾水,那时候找别人要了个内测工具的安装包,对方给了个网页链接,让我用自带的Safari浏览器打开,点页面上的安装按钮就好。 我照着操作点了安装,回到桌面看到图标在转,转完之后图标出来了,点进去却弹出来不受信任的提示,直接退了出来。 那时候我还吓得不轻,以为手机进了恶意软件,赶紧找对方问怎么回事,才知道苹果的机制就是这样,装了外部签名的应用,得手动信任证书才能打开。
最坑的是那时候我刚换了新手机,系统版本跟旧手机不一样,对方告诉我去设置的通用里找描述文件,我翻了快十分钟都没找到对应选项,差点把设置翻烂。 后来才知道不同系统版本,信任证书的入口位置不一样,新版本改到了VPN与设备管理的分类里面,旧版本才放在描述文件里。 找到对应入口之后,就能看到签名对应的开发者证书,点一下信任按钮,确认之后再回去点开应用,就能正常打开了。 那时候我还不敢点信任,总觉得给了权限会泄露手机里的隐私,用得多了才知道,这只是苹果系统的基础验证规则,只要你装的应用本身没问题,信任证书不会有什么风险。
说到证书,我最早完全分不清楚P12签名证书与pem证书,后来自己捣鼓打包签名才慢慢弄明白。 之前我自己做了个记录日常的小应用,不想折腾上架,就想着自己签名装手机上用,跟着网上的教程生成证书,结果最开始导成了pem格式,导入电脑钥匙串之后,打包的时候一直报错,死活签不成功。 我折腾了快一下午,查了好多教程才弄清楚,pem证书大多是文本格式,很多时候是给服务器做推送之类的用的,本地打包签名需要的是P12格式,这种格式把公私钥都打包在一个文件里,导入之后就能直接用来签名。 后来我重新导出了正确格式的文件,才顺利打包签好,装到手机上能用。 从那之后,我每次生成证书都会特意同时备份P12和pem两种格式,需要哪个直接拿出来用,不用再重新折腾导出,省了好多麻烦。
用过这么久,我差不多把市面上能见到的签名渠道都试了个遍,每个渠道的感受都差很多。 最早用的是企业签名,那时候不懂,选了看起来很划算的,用了没多长时间就出问题,证书被苹果封了,应用直接打不开,也就是大家常说的掉签。 掉签之后我最开始不知道怎么办,问了圈里的人才知道,掉签就是证书被苹果检测到封禁了,不同的情况解决办法也不一样。 如果是找商家做的签名,支持补签的话,商家更新证书之后,有些不用重新下载,打开应用就能自动补好继续用,不影响数据。 要是不支持补签的便宜签名,就只能删掉重新下载安装,要是没提前备份数据,存在应用里的内容就全没了。 我就吃过一次亏,那时候存了好多测试内容在应用里,掉签之后不知道备份,重新装完数据全空了,心疼了好长时间,后来再遇到掉签,我都会先用助手把应用数据备份出来,再重装之后导回去,就不会丢东西了。
企业签名的稳定性差别真的很大,我后来才知道,便宜的大多是共享证书,好多不同的应用都签在同一个证书上,只要其中一个出问题被举报,整个证书都会被封,所有签过的应用都跟着掉签。 后来我换了独立证书的企业签名,贵了不少,但是用了好长时间都没掉过一次,省心太多,所以说要稳定还是不能贪便宜,选独立证书比共享证书稳定太多。
之后我还用过超级签名,超级签名跟企业签名不一样,是用个人开发者的权限做的,安装的时候自动就能获取设备信息,不用手动信任证书,装完就能直接打开,体验比最早的企业签名好不少。 超级签名也会掉签,如果做签名用的账号被封,一样会打不开,解决办法跟企业签名差不多,要么找商家重新签,要么自己有账号的话重新弄就好。 超级签名适合人数不多的内测,要是用的人多成本就会高很多,要稳定的话就得找用正规账号的商家,不要用那种来路不明的黑号,黑号被封的概率高很多,掉签也就更频繁,我见过有人用黑号,没多长时间就掉了,正规账号只要不超额加设备,很少会出问题。
现在我用得最多的是TF签名,也就是苹果官方内测平台的签名,这个是苹果官方允许的,所以稳定性比前面两种都好太多,只要应用内容合规,基本不会掉签,就算到期了重新上架一次就能继续用。 安装也很方便,点一下邀请链接就会跳转到官方的内测平台,点安装就能直接装好,不用弄证书也不用找UDID,体验特别好。 我唯一遇到的问题就是太大的安装包传不上去,压缩了好半天才能成功上架,也算小问题,不影响使用。 真要是掉签了,要么就是内容违规被下架,要么就是到期了,重新上架一次再安装就好,只要提前备份数据,一点都不麻烦。
我还试过H5封装的签名,就是把网页套个壳做成应用的样子,改内容直接改网页就行,不用重新打包,听起来挺方便的,实际用起来体验真的差很多。 很多原生功能调用起来特别卡,比如打开相机拍个东西,都要卡好半天,推送也经常收不到,而且封装完还是要再做签名,稳定性还是看你用的什么签名,等于多了一层流程,还不如直接用原生包签名,我用了没几天就不用了,太影响使用感受。
当然最稳定的还是直接上架AppStore,所有人都能直接搜了下载,不用折腾任何签名,也不会有掉签的问题,用户体验是最好的。 但是上架真的太难了,审核特别严,很多还在测试的应用,或者功能不符合要求的应用,根本过不了审核,还要交年费,对于只是自己用或者小范围内测的应用来说,成本太高也太麻烦。 我那个自己做的小日记应用,申请了好几次上架都被打回来,说功能不完善不符合要求,折腾了好多次还是没上去,最后只能放弃,一直用TF签名自己用。
要是自己手里有备份好的P12证书,其实掉签了也不用慌,不用等着商家处理,自己就能重新签名,只要把安装包重新签一遍,几分钟就能弄好,比找商家快多了。 我之前就遇到过商家联系不上的情况,还好我自己提前备份了P12证书,找朋友帮忙重新打包签名就好了,不至于应用完全用不了,所以备份证书真的很重要,不管找谁做签名,自己一定要存好证书备份,别全交给商家就不管了。
这么长时间用下来,我也摸出了不少让签名稳定流畅的小经验,要是只是小范围几个人用,能上TF签名就优先选TF,毕竟是官方的,只要内容合规,基本不会出问题,体验也最好。 要是因为种种原因上不了TF,人数不多的话选超级签名就好,找正规商家的正规账号,不会动不动就掉签。 要是人数比较多,那就选独立证书的企业签名,别贪便宜选共享证书,虽然贵一点,但是能省好多掉签折腾的时间,真的划算。 平时装签名应用一定要找正规渠道的链接,别点乱七八糟的不知名链接,有的链接会带垃圾描述文件,装完之后手机天天弹广告,还要手动删掉才能恢复正常,我之前就踩过这个坑,折腾了好半天才弄好。
有次帮公司做内测演示,那时候不懂事选了便宜的共享企业签名,结果轮到我演示的时候刚好掉签,当着好多人的面应用打不开,尴尬得我都想找个地缝钻进去,从那之后我就再也不碰共享证书了,公司也直接批了预算做独立证书,之后再也没出过这种岔子。 其实签名这个东西,就是给没法上架AppStore的应用一个安装的渠道,不同的渠道适合不同的需求,只要选对适合自己的,不贪小便宜,提前做好备份,就能用得很稳定顺畅,不用天天对着掉签的应用头疼。
现在我手机里装了好几个不同签名的内测应用,各用各的渠道,用了好长时间都没出什么大问题,偶尔遇到一次小掉签,备份完数据重新装一下就好,也不麻烦,从最开始掉签就慌得不行,到现在能自己处理各种问题,也算折腾出了不少经验,这些都是我作为普通测试用户的真实感受,给同样需要用签名的朋友做个参考,少踩一点我踩过的坑。