我自己做了个给本地车友群用的小工具APP,一开始想着直接上架AppStore给大家用,折腾了快一个月,递了两次包都没过审。第一次是隐私政策写得太笼统,苹果说我没有说清楚收集定位信息的用途,打回来让我改,改完第二次递上去,又说我这个共享停车定位涉及公共服务资质,我一个个人开发者根本拿不出对应的资质,只能放弃官方上架,开始到处找苹果签名的路子,一开始什么都不懂,踩了好多坑,后来经常泡ios签名社区论坛看大家的经验分享,才慢慢摸清楚各种签名的门道,用到现在也有快两年了,攒了不少真实的感受。
最开始我听人说H5封装简单,成本低,不用折腾太多签名的事,我就找了个免费的封装平台,把我的网页版工具套了个壳,生成了iOS安装包。下载好安装包之后,点安装弹出来提示说开发者不受信任,没法打开,我当时对着手机找了半天都不知道在哪里设置信任,翻了好半天设置,还是论坛里搜了才找到流程,现在的新iOS系统,信任证书的入口藏得挺深,要先打开设置,点通用,往下拉找到VPN与设备管理,刚装完描述文件这里才会显示出来对应的开发者条目,点进去之后点信任,还要输一遍自己的锁屏密码确认,才算完成。我当时第一次弄,输完密码还退出去重进了好几次才打开,折腾半天。H5封装用起来的感受真的不太好,本质还是套壳网页,调用个原生功能都卡半天,车友说存个截图到相册要等半分钟,而且免费平台还强制加了开屏广告,去广告还要每个月交几十块钱,用了不到一周,安装包就打不开了,平台说他们的共享证书掉了,要重新封装还要再交钱,我就直接放弃H5封装了,原来这东西也就临时凑合用,长期给用户用根本不行。
后来论坛里好多人说企业签名便宜,支持多设备,适合我这种小范围内测用,我就找了个商家,花了不到一百块买了一个月的共享企业签名,安装其实和H5封装差不多,点开商家给的分发链接就能下载,装好之后还是走一遍信任证书的流程,和之前没差。刚开始用那几天感觉还不错,比H5流畅多了,原生功能都能用,结果才第四天,早上打开APP直接变成了灰色图标,点不开,就是掉签了。我当时根本不知道掉签是怎么回事,赶紧找商家,商家说共享证书被苹果查到了,全掉了,给我补签一个,让我重新下载安装,结果我之前存在本地的车友停车记录全都没了,好多车友找我抱怨,我那叫一个郁闷。后来在论坛看了好多帖子才知道,企业签名分共享证书和独立证书,共享证书就是好多商家把几百个APP都签在同一个企业证书上,只要有一个APP违规被苹果查到,整个证书所有APP都掉签,所以掉签概率特别高,贪便宜买共享的,就是这种天天等补签的命,独立证书就是一个证书只给你一个APP用,只要你自己的APP不违规,基本不会掉,当然价格也贵很多,一个月要几百块。后来我也用过一段时间独立企业签名,确实稳很多,两三个月才掉一次,掉了之后商家补签也快,不用重新下载就能恢复,就是成本比共享高不少,对于我这种小范围用其实有点贵。说到掉签后的解决办法,我用了这么多次也总结出经验了,刚掉签先别着急删APP,先去问问商家是不是证书的问题,如果只是描述文件失效,重新安装一个描述文件就能用,数据不会丢,如果是证书真的被封了,那只能补签重新安装,这个时候提前备份好APP的数据就很重要,我现在都会提醒核心用户提前备份数据,掉签重装也不怕丢记录。
中间我也试着自己弄签名,就用到了P12证书,那时候我自己买了个人开发者账号,按照论坛的教程导出P12证书,折腾了一晚上都没弄对。一开始我导出的时候忘记设密码,结果上传到签名平台一直提示验证失败,改了密码之后又发现我只导出了证书,没导出对应的私钥,还是不对,后来还是论坛里的大佬私信给我发了一步步的截图教程,我才弄对。原来P12证书就是把你的开发证书和私钥打包导出的文件,签名的时候必须要有这个文件才能给APP签上名,自己有P12证书的好处就是,你可以找平台只出签名服务,不用买商家的证书,成本低很多,而且你自己拿着证书,不用担心商家偷偷把你的证书拿去给别的违规APP签名,连累你的证书被封。之前我就在论坛见过一个用户,把自己的P12借给朋友用,结果朋友拿去签了违规APP,连累自己的证书也被封,好好的APP直接掉签不能用,损失了好多用户,所以我现在自己的P12一直存在加密云盘里备份,从来不会随便给别人,就怕出这种问题。
自己弄完P12之后我就开始用超级签名,超级签名就是用个人开发者证书做的签名,每个个人开发者账号最多能绑定100个设备,刚好我那个APP才不到六十个活跃用户,完全够用。超级签名安装起来也方便,用户只要点击链接自动获取设备UDID,就能直接安装,不用像企业签名那样手动去设置信任证书,用起来舒服很多。我最开始找商家买现成的超级签名,便宜是便宜,一个设备几块钱一年,结果用了半个月就全掉了,再找商家已经联系不上了,钱也打了水漂。后来我才知道,好多不良商家用的都是被苹果标记过的黑证书,就是已经被封过好几次的,拿出来卖了赚快钱,用不了几天就掉。后来我用自己的P12证书,自己找签名平台做超级签名,只给我的用户用,就稳很多,用了快一年都没掉过,唯一的小问题就是,旧手机不用了要记得去开发者后台删掉对应的设备,腾出名额给新用户,我一开始不懂,半年不到100个名额就满了,好多新人装不上,后来我每个季度都会清理一次不活跃的设备,就没这个问题了。
用了超级签名大半年之后,我听论坛里的人说TF签名是最稳定的,是苹果官方的TestFlight测试签名,根本不会掉签,我就试着弄了一个。我自己上架TF第一次也没成功,版本号和我之前递审AppStore的版本冲突了,后来找论坛里口碑不错的商家帮我调整了信息,很快就弄好了。TF签名的安装确实有点麻烦,用户要先在AppStore下载一个TestFlight的官方APP,然后打开我发的邀请链接,才能安装我的测试版APP,好多年纪大一点的车友不会弄,每次都要我一步步截图教,折腾半天才能装好。但是稳定是真的稳,我用TF签名放测试版快一年了,从来没掉过签,也不用折腾信任证书,也不会因为什么无关的违规掉签,只要你不违反苹果的测试规则,就能一直用,最多就是一年到期了重新上传一下就行,特别省心。
其实用到现在,我也总结出来怎么才能用得稳定流畅,首先就是不要贪便宜,免费的签名或者特别便宜的共享签名,看着划算,实际上掉签折腾你几次,时间成本和用户体验的损失比那点钱贵多了。如果你用户量少,几十个人用,就自己买个个人开发者账号,导出自己的P12证书做超级签名,成本一年也就几百块账号钱,签名费没多少,自己把控证书,只要不签违规的东西,基本不会掉,特别稳。如果用户量几百上千,不想弄TF,那就买独立证书的企业签名,虽然贵一点,但是掉签少,省心得多。如果能接受用户装TestFlight,不管用户量多少,直接弄TF签名,苹果官方背书,稳定到没朋友,根本不用操心掉签的事。能上架AppStore尽量还是上架,我后来改了APP的功能,把定位共享的逻辑调整了,去掉了不合规的内容,第三次递审就过了,现在正式版就在AppStore,用户下载直接就能用,不用折腾任何签名证书的事,体验最好,我现在就是把新功能测试版放在TF签名,给核心车友测试,稳定版放在AppStore,兼顾了测试和正式使用的需求,一直都很顺畅。
这两年用各种苹果签名,踩过的坑真不少,掉签丢过数据,买过黑证书被骗过钱,P12导错过好多次,信任证书也因为iOS大版本更新重置过,刚更新完找不到入口又折腾半天,要是一开始就有人给我说这些经验,也不会走这么多弯路,还是逛ios签名社区论坛能看到很多真实用户的分享,避开好多坑,我遇到问题第一时间也是去论坛搜,总能找到解决办法,好多大佬都会无偿分享经验,比问那些只会卖签名的商家靠谱多了。现在我偶尔也会在论坛里分享一下自己的经验,给刚入门的新人提个醒,别像我当初一样踩一堆没必要的坑。其实不管选哪种签名,核心就是适合自己的用户量和使用场景,找靠谱的渠道,保管好自己的证书,就能用得稳定省心,不用天天对着掉签的灰色图标发愁。