我做独立iOS开发快六年了,最早折腾小工具起家,踩过的签名坑能堆一箩筐,今天就用自己的经历,把这事儿说透。
一开始我做的是一款本地出行比价的小工具,满心欢喜准备走AppStore上架,结果三次审核都被打回,说我涉及第三方票务导流不符合规范,没办法只能转向内测分发,这才开始天天研究苹果签名证书怎么申请,从自己注册账号到找第三方签名,踩过的坑一个接一个。
先说说P12证书的事儿,这玩意儿我最早完全不懂。刚申请下来苹果开发者账号的时候,跟着教程生成CSR文件,导出P12的时候嫌麻烦没设密码,还随手存在了公共网盘里,想方便自己换电脑的时候下载,结果没半个月,我的证书就被别人盗用了,拿去签了好几个违规的博彩app,没过一周苹果直接给我发了账号封禁邮件,九百多人民币交的99美元年费直接打了水漂,那时候我刚做开发没收入,心疼了快一个月。
所以P12证书使用,我现在总结出铁律:第一导出必须设强密码,第二绝对不能随便分享给陌生人,第三不能存在公共可访问的空间,哪怕是自己用,也要存在加密硬盘里。现在很多第三方签名平台支持开发者自带P12签名,我只要是自己的项目,一定是自带P12,这样主动权在自己手里,不会被平台随便动我的安装包,也不会因为别人违规连累我的证书。
接下来聊聊不同渠道苹果签名的真实价格,这一块水太深了,很多刚入行的朋友根本摸不清。如果你自己申请证书,个人开发者账号一年是99美元,现在换算下来大概七百多人民币,企业开发者账号苹果官方是299美元一年,但现在苹果根本不给个人批新的企业账号,市面上流通的企业证书都是二手或者转手的,价格炒得离谱,独立可用的企业证书一年要三万多,便宜点的一万多,都是一堆开发者共用的。
如果找第三方签名,不同类型价格差很多:超级签名按设备收费,一般单台设备一年5到15块,量大能砍价,我上次两百台设备砍到四块钱一台年,按月付的话一般一块多一台月;TF签名大多是按版本或者按年收费,普通合规的包,不限下载的TF签名一年大概一千多,要是包审核过审的话,稍微敏感点的包要收两三千到几千不等;企业签名分共享证书和独立证书,共享企业签名一个月大概一百到三百,独立企业签名一个月一千五到两千五,包全年稳定掉签补签的,一年也要一万多;还有那种几块钱的免费签名,我劝大家碰都别碰,我试过一次,第三天就掉签,安装包里还被加了弹窗广告,根本没法用。
很多人问设备签名到底是什么原理,其实说白了就是蹭苹果官方的内测名额。苹果规则里,每个个人或者公司开发者账号,最多可以绑定100台测试设备,超级签名就是把用户苹果设备的UDID绑定到开发者账号的测试列表里,再用这个账号的P12证书给IPA签名,绑定过UDID的设备就能直接安装,不需要经过苹果审核,原理就是这么简单。
这里就说到UDID绑定,很多新手不知道UDID是什么,其实就是每台苹果设备唯一的识别码,苹果就是靠这个识别哪台设备有权限安装内测app。我最早做H5封装的时候,折腾了好久才搞定UDID自动获取,一开始要用户手动拷贝UDID,十个用户有七个嫌麻烦走了,后来嵌入了自动获取接口,用户点一下安装链接就能自动获取绑定,根本不用手动操作,转化率一下子就上来了。
哦对了H5封装,现在很多中小商家做自己的原生app太贵,就把自己的公众号H5封装成IPA包,不想上架AppStore交30%的抽成,所以封装完之后直接做IPA签名就能给老用户安装,成本不到原生开发的十分之一,我去年帮开社区团购的朋友做过一套,就是H5封装出IPA,然后做TF签名,用到现在都没出问题,省了好多钱。
苹果的证书分发机制其实分好几种,适合不同的需求:第一种就是AppStore上架用的发布证书,只有用这种证书签名的包才能上传苹果审核,过审之后所有用户都能下载,最稳定,但是审核规则严,很多包过不了;第二种是开发测试证书,只能给开发者自己绑定的测试设备用,适合开发阶段调试;第三种是企业内部分发证书,就是企业开发者账号的证书,本来是给企业内部员工用的,不需要苹果审核就能分发,所以很多不上架的app都用这个;第四种就是TF签名对应的TestFlight分发,本质上是苹果官方的内测渠道,你把IPA签名后上传到TestFlight,用户从TF下载,完全符合苹果规则,所以稳定性特别高。
说到稳定性,我必须聊聊我遇到过的掉签和补签问题,这玩意儿真的能把人搞疯。最早刚做的时候,贪便宜找了个一百块一个月的共享企业签名,签完第三天就掉了,所有用户打开都是灰图标,点不开,找商家补签,商家说排队要24小时,等补完我一百多付费用户已经走了一半,损失真的不小。还有一次我把自己的P12交给一个小平台代签,结果平台偷偷拿我的证书给别的违规app签名,苹果直接吊销了我的证书,所有绑定过的设备全掉签,我花了整整一周才给所有老用户重新安装好,还赔了好多优惠券,亏了小一万。
掉签的原因其实无非几种:要么是证书签了违规app,被苹果查到直接吊销,所有用这个证书签的app全掉;要么是多人共用证书,设备量超了苹果的限制,被苹果封禁;还有就是企业证书用户量太大,苹果检测到违规分发,直接吊销。补签现在也分两种,一种是普通补签,掉了之后重新签名,你得重新发安装链接,用户要重新安装,特别麻烦;另一种是不掉链接补签,只有少数做独立证书的大服务商能做,补完用户不用动,直接就能用,当然价格也贵不少。
这么多年用下来,我觉得稳定好用的签名方式,其实分情况说:如果你只有几十上百个内测用户,自己申请个99美元的个人开发者账号,自己做超级签名最划算,一年七百多,自己保管P12,只要不碰违规内容,基本不会掉;如果你的用户量在几千人,而且app合规,优先选TF签名,我现在那个不上架的小工具就是用TF签名,快一年了都没掉过,唯一的缺点就是每个版本最多用90天,到期了重新传个新版本就行,也不麻烦,用户不用重新下载,直接更更新就好,真的比企业签名稳太多;如果你的app确实没法上TF,那咬咬牙选独立企业签名,贵是贵点,但是比共享签名稳定太多,掉签补签也及时,总比天天掉签流失用户强。
说回最开始的问题,苹果签名证书怎么申请,其实普通人自己就能申请,只要你有正规的身份或者公司主体,直接去苹果开发者官网注册,交年费就能申请,支持支付宝付款,流程一点都不复杂,跟着提示走就能搞定,申请完就能自己生成P12证书,加UDID,做签名。如果觉得自己操作麻烦,找正规第三方平台代申请也可以,就是多花个几十块手续费,别找那种卖便宜证书的,十有八九是坑。
我一直觉得,能做AppStore上架尽量做上架,毕竟上架之后用户搜得到,也不会掉签,完全不用折腾签名补签,但是确实很多app因为各种原因过不了审,或者不想给苹果交30%抽成,那只能走签名这条路。H5封装加IPA签名加分发,这套流程现在已经很成熟了,小商家几千块就能搞定,比做原生开发划算太多。
上个月还有个刚入行的小兄弟找我,说他花五百块买了个P12证书,用了三天就掉了,卖家也联系不上,其实那种便宜证书要么是盗用的,要么是几百人共用的,根本用不了,真的想稳定,要么自己申请账号,要么找正规服务商,别贪那点小便宜。
我现在三个项目,两个走了AppStore上架,一个因为功能特殊过不了审,一直用TF签名,用户用着都挺好,没什么大问题,平时就是三个月传一次新版本,花十几分钟就搞定了,也不费事儿。做独立开发这么久,最明白的道理就是,稳定永远比便宜重要,我们这点用户都是一点点攒下来的,一次掉签流失三分之一用户,再怎么拉都拉不回来,算下来反而亏更多。
刚打包完今天要更新的IPA,准备明天上传,喝口水歇会,慢慢折腾吧,做开发哪有不踩坑的,踩多了也就知道怎么走了。