我做独立iOS开发快四年,大部分时间都在做一些小工具类的项目,踩过签名的坑比我写过的bug还多。今天就把我这些年摸出来的经验全说出来,给刚入行的朋友提个醒。
最早我做第一款面向小商家的进销存工具的时候,本来想直接走AppStore上架,结果三次被打回。说我涉及第三方商户收款,需要提供增值电信业务经营许可证,我一个光杆开发者,哪来的这种资质?没办法只能放弃上架,转头找IPA签名做非公开发布,给已经谈好的几十个种子用户先用。那时候我连P12证书是什么都搞不懂,更别说什么套餐价格了,上来就被坑得头大。
最开始查资料才知道,P12证书是签名的核心,是从苹果开发者后台导出的、包含私钥的证书文件,不管你找服务商签名还是自己签名,都需要有效的P12才能操作。我那时候自己有个99美元的个人开发者账号,想导出P12给服务商,折腾了三个小时才弄对——一开始只导出了公钥,没带私钥,服务商说你这文件根本用不了,签完也装不上。后来才搞明白,要在电脑钥匙串里一起导出私钥,出来的P12才是能用的,这一步错了,后面全白搭。
搞懂了基础的东西,开始找服务商问价格,才发现不同渠道的价格差得能吓死人。就拿苹果企业签名来说,我最早在淘宝问的小代理,共享证书的月套餐要120一个月,后来找上游的开发者群里的服务商,同类型共享套餐才50一个月。独立证书的话,价格从三百一个月到一千二一个月不等,差别就在稳不稳定。超级签名按设备算,有的渠道一个设备收1块,有的收3块,100台设备的套餐从80到300都有。TF签名更夸张,我最早找的代理收我500一次包上架,后来常合作的服务商只要180一次,还是包过审不过退钱的那种。
说到这里,就该说苹果企业签名付费套餐详情了,我整理了这么久,市面上常见的套餐基本就是三类。第一类是共享证书套餐,一般按季出,100到150块三个月,承诺掉签免费补签,这种就是很多个开发者共用同一个P12证书,成本摊下来低,所以卖得便宜。第二类是独立证书套餐,一般按月算,普通独立证书300左右一个月,包季800,包年2800,这种就是一个证书只给你一个人用,不会被其他人连累掉签,大部分正规服务商都会承诺,一个月掉签超过三次就全额退款,补签也是免费的。第三类就是超稳专属企业签名套餐,这种用的是正规的企业级开发者账号,一年两千多刀的成本,卖的话一个月1200左右,包年一万出头,这种真的很少掉,我认识做合规项目的朋友用这个,大半年都没掉过一次。超级签名还有按设备量分的套餐,100设备80,500设备350,1000设备600,那些说什么九十九块包年无限设备的,基本都是黑号,哪天账号被封你全没了,别信。
讲完套餐价格,再说说原理吧,我也是踩了坑才搞明白。设备签名的核心逻辑,其实就是苹果允许开发者给指定设备分发测试应用,所以才有了签名这个操作。UDID绑定就是,每一台iOS设备都有唯一的识别码叫UDID,你要签名安装,就得把这个UDID加到开发者账号的测试设备列表里,苹果验证通过了才能装。
不同的签名用的证书分发机制不一样,我们常见的几种,超级签名用的是个人开发者账号的测试设备权限,一个个人账号最多绑100台UDID,所以每来一个新用户,就得绑一次UDID,按设备收费就是这么来的。企业签名用的是苹果给企业发的企业级开发证书,本来是给企业做内部APP用的,不需要绑定UDID,任何设备都能直接装,所以才适合做大规模的分发,只是苹果禁止企业证书做公开对外分发,查到就会封证书,证书一封,所有用这个证书签的APP就会掉签,这就是掉签的根本原因。TF签名不一样,TF是苹果官方的TestFlight内测平台,相当于你把APP放到苹果官方的平台给用户下载,本身就是苹果认可的,所以基本不会掉签,只要你能过审,就能一直用到90天有效期,到期再重新传一次就行。
我最早图便宜买了那个50块一个月的共享企业签名套餐,那时候刚出来创业,兜里没几个钱,觉得能用就行,结果半个月掉了四次签。每次掉签,用户打开APP就是闪退,找不到安装包就过来找我,我得去找服务商补签,补签一次还要等一两个小时,遇上服务商下班,就得等第二天。那时候我用H5封装做了下载页,每次补签完都得重新换下载链接,再一个个通知用户重新安装,折腾得我半个月没睡好,二十多个种子用户直接跑了一半,真的给我整出心理阴影了。
后来我才知道,共享证书就是这个德行,一百多个人共用一个P12,只要其中有一个人签的是违规APP,被苹果查到,整个证书就废了,所有人都得跟着掉。补签其实就是重新换个证书给你的IPA再签一遍,生成新的安装包链接,原来的链接直接作废,虽然操作不难,但是频繁掉真的太折腾用户了。从那之后我就宁愿多花点钱,也不碰低价共享套餐了,真的得不偿失。
后来我换了独立证书的月套餐,三百块一个月,确实稳很多,我的工具本身没有违规内容,所以最多两三个月才掉一次,掉了之后服务商半小时就能补签完,我只要把H5封装下载页的链接换一下就行,用户那边通知一声,也不会有太大影响。之后用户量涨到八百多的时候,我又转做了TF签名,一次180块,能用90天,一年下来也就七百多块,比企业签名还便宜,而且是苹果官方的,从来没掉过签,用户安装也很方便,只要点链接跳转到TestFlight就能下载,比企业签名还要省事。
我也用过一段时间超级签名,那时候刚有几百个用户,超级签名算下来一个设备一块钱,五百个设备就是五百,比独立证书还贵,而且苹果现在查个人开发者账号查得严,我那时候用的号,因为加设备太频繁,直接被封了,号一封所有绑定过UDID的用户都用不了,又折腾了我好几天换签名,从那之后我就知道,用户超过五百的话,超级签名成本太高,还不如用企业签名或者TF划算。
这些年踩坑踩多了,也摸出来规律了,稳定好用的还是独立企业签名和TF签名,共享签名只适合那种刚做开发,只有十几个内测用户,随便用用的,真要给用户用,千万别碰。P12证书如果是你自己提供,一定要记得导出私钥,不然真的白折腾,我见过好多开发者自己带证书,结果导错了,来回折腾大半天。
现在我还是一边用TF签名放着我的小工具,一边攒资质攒用户,等攒够了条件,再重新申请AppStore上架,毕竟上架才是长久之计,签名终究只是过渡。不过对于很多像我一样的小开发者,暂时没法上架的话,找对合适的签名套餐,也能正常用,只要别贪便宜踩坑就行。