我做独立iOS开发快五年了,从最早做一些美化工具、小插件开始,就一直和苹果签名打交道。大部分个人做的工具,功能擦点边就过不了AppStore审核,想要让用户装上用,只能靠各种签名分发,这几年踩过的掉签坑,能堆一箩筐。
最早接触签名的时候,连最基础的设备签名原理都搞不懂,只听别人说签完就能装。后来慢慢摸透了才明白,苹果本身的机制就是这样,没经过官方认证的应用,装到iOS系统里也没办法打开,系统会直接提示“不受信任的开发者”,本质上签名就是给应用一个合法的身份凭证,让系统认可它可以运行。
UDID绑定这个东西,我也是踩了坑才学会的。最早做Ad Hoc分发的时候,不知道要拿用户的UDID,打包完签名发出去,用户下载了根本打不开,折腾了整整一天才搞懂,UDID就是每一台iOS设备独一无二的识别码,做设备签名的时候,必须把这个识别码绑定到开发者账号的设备列表里,打包出来的应用才能在对应设备上运行,一个个人开发者账号最多绑一百台设备,就是这么来的。
说到P12证书使用,我第一次导出证书就出了错。那时候刚申请下来开发者账号,按照教程导出证书,没设置密码就导出来了,发给签名服务商帮我做IPA签名,人家说这个证书用不了,没有私钥密码,工具根本读不出来。我又回去重新导出,折腾了快两个小时才弄对。后来我又吃过一次亏,把导出的P12证书随便存在网盘里,过了大半年掉签要补签,找出来才发现证书早就跟着开发者账号过期了,苹果的开发者证书本身有效期只有一年,到期就得重新生成,这点真的要记牢。还有就是P12证书一定要自己保管好,不要随便给不认识的服务商乱用,证书泄露出去被别人拿去签违规应用,很容易牵累你的应用一起掉签,我就吃过这个亏,后面再说。
说一下我这几年接触到不同渠道的真实价格,给刚入行的朋友做个参考,省得被坑。先说最常见的几种:超级签名,按设备数量收费,现在正规渠道的价格大概是一个设备一年8到15块,量越大越便宜,小渠道黑心的会收你20块一个设备,纯赚差价。然后是苹果企业签名,分共享版和独立版,共享版就是很多不同的应用共用一个企业证书,价格非常便宜,现在大概一个月两三百块,我最早用的就是这个,真的便宜没好货。独立版就是一个证书只放几个甚至你一个应用,不会乱塞其他应用,现在价格大概是一个月一千五到两千,包年的话一万二到一万五,比按月租划算一些。然后是TF签名,也就是TestFlight签名,这个如果自己能上架的话,只需要花688块的个人开发者账号钱,没其他成本,找别人代做的话,不包过大概两三百,包过的话大概八百到一千,续期一次一般两三百,有效期90天,最多支持一万个测试设备。H5封装的话,本身很便宜,一般几十到几百就能把你的H5页面封装成IPA包,封装完再做签名,加起来成本也不高。如果是走AppStore上架,自己申请账号就是688一年,找别人包过审核的话,价格就不好说了,从几千到几万都有,看应用类型和难度。
现在说回核心的苹果企业签名掉签原因,我踩了这么多坑,总结出来真的就那几种。我最早贪便宜用共享企业签名,那掉签掉的我怀疑人生,最多一天掉过三次,每次掉签群里全是用户问怎么打不开,我那时候刚起床泡沫还在嘴里,就得赶紧找服务商补签,整个人都崩了。共享签名为什么容易掉?就是因为一个证书上塞了几十上百个应用,什么违规的擦边的都往上放,苹果的风控一检测到证书有违规内容,直接就吊销证书,一吊销所有签这个证书的应用全掉,躺枪都没地方说理。
还有一种掉签原因,就是短时间下载量突增,触发苹果风控。我之前做过一次拉新活动,一天涨了五千多下载,本来用的好好的独立证书,当天晚上就掉了,问服务商才说,苹果检测到短时间大量安装,认为证书被滥用,直接给吊销了,那一次真的亏大了,刚拉来的新用户走了大半。
还有就是证书本身的问题,有些服务商拿被举报过的企业账号,甚至是被盗的企业账号给你签名,账号本身就不稳定,说没就没,证书自然跟着失效,掉签就是家常便饭。还有就是我之前说的,你的P12证书被服务商拿去给别的违规应用签名,别人违规牵累你的证书一起被封,我之前就碰到过这种事,找服务商说理,人家直接推说不是他们的问题,最后只能自己吃哑巴亏。
掉签之后最麻烦的就是补签,很多小服务商说的好听,掉签免费补,真掉了要么不理你,要么说你应用违规要加钱,甚至直接拉黑失联,我之前就碰到过一个小服务商,收了我一千块年费,掉了一次签直接把我拉黑,钱打了水漂,那段时间真的想放弃做独立开发,赚那点钱还不够折腾掉签的。
补签还有个问题,大部分普通补签完,用户都得删掉原来的安装包,重新下载新的签名包,很多用户嫌麻烦,直接就不用了,我最早一次掉签,两千多用户掉完剩下不到一千五,硬生生掉了三分之一的用户,那种心疼真的没人能懂。所以我后来一直说,稳定比什么都重要,宁愿多花点钱找稳定的签名,也不要贪便宜天天补签掉用户。
我现在用的签名方案,其实是分场景来的,能上架AppStore绝对优先上架,我那个做计算器小工具的朋友,去年好不容易过了审核上架,现在用户量涨了三倍,收入翻了一番,从来不用操心掉签的事,真的比签名香一万倍。AppStore上架是苹果官方的分发机制,只要你不违规被下架,永远不会掉签,用户搜索就能下载,更新也方便,信任度还高,只要能过审核,真的是最好的选择,就是审核太严,很多工具类、个性化的应用过不了,没办法才走其他渠道。
如果过不了AppStore审核,用户量又不到一万,那我首推TF签名,也就是TestFlight签名,这个是苹果官方认可的测试分发方式,稳定性比企业签名好太多了,只要你应用不违规,基本不会掉签。我自己有个壁纸小工具,用户不到四千,做了TF签名,快一年了就续了两次,从来没掉过,太省心了。唯一的缺点就是最多只能绑一万个设备,90天要续一次,对于小体量的开发者来说完全够用。
我之前帮朋友做本地生活的项目,他本来就是做小程序的,觉得小程序打开慢,想做个APP,又没钱做原生开发,就做了H5封装,把H5页面封装成IPA包,本来想上架AppStore,结果因为第三方支付和商家入驻资质不全,审核没过,就做了TF签名,用了快一年也没出问题,H5封装的IPA只要内容不违规,签名起来和原生的没区别,不会更容易掉签,这点大家不用担心。
如果用户量超过一万,TF放不下了,那就选独立企业签名,找正规的大服务商,一个证书只放少量应用,不要找那种几百块一个月的共享签名,我现在用的独立企业签名一个月一千八,大半年才掉过一次,掉了之后服务商两个小时就补好了,还给做了超级跳转,用户不用重新下载安装,打开就能用,几乎没影响用户体验,贵出来的那点钱,换回来用户不流失,真的太值了。
说一下苹果的证书分发机制,其实本质上就三种,第一种是App Store上架分发,官方公开分发,所有人都能下,稳定,但是审核严。第二种是企业内部分发,本来是给企业给内部员工装应用用的,不需要绑定UDID,理论上没有设备数量限制,所以大家拿来做外部分发,就是我们说的企业签名,因为本身违反苹果的协议,所以才有被吊销掉签的风险。第三种就是Ad Hoc分发,也就是超级签名用的机制,绑定UDID,一个个人账号最多绑一百台,所以超级签名就是用很多个人账号拼起来,每加一个设备绑一个,按设备收费,只要不用黑号,稳定性比共享企业签名好很多。
我做超级签名也踩过坑,之前找了个低价渠道,一个设备才6块钱,比市场价便宜一半,我以为捡便宜了,结果不到一个月,一半的设备都掉了,查了才知道,人家用的是盗来的个人开发者账号,账号被苹果封了,绑定的设备全失效了,又流失了一堆用户,从那之后我不管买什么签名,都只找做了三五年以上的老服务商,便宜那点钱真不够填坑的。
这段时间稳定下来,每天改改bug,更更内容,不用天天盯着手机等用户说打不开,不用急着找服务商补签,日子舒服多了。其实做独立开发就是这样,一路踩坑一路总结,苹果签名这点事,没有绝对完美的方案,只要找对适合自己用户量和应用类型的方式,少贪便宜,就能少很多麻烦,剩下的就是慢慢把产品做好,等着用户慢慢涨起来就好。