我接触苹果签名行业已经快六年了,最早做iOS外包开发的时候,很多中小创业团队和做内测的客户都没法把APP走官方上架,要么是H5封装的工具类APP不符合审核规则,要么是还没开发完成只做内部测试,所以我就开始自己研究苹果签名,帮客户解决分发安装的问题,这么多年踩过坑也攒了不少经验,最近刚好整理了半年来的TF签名数据统计,就把这些干货整理出来给大家参考。
先从最基础的签名技术原理说起,苹果的iOS生态是完全封闭的,所有能在iOS设备上正常启动运行的APP,都必须经过苹果官方授权的数字签名验证,本质上IPA签名就是用苹果颁发给开发者的有效证书,对未上架的IPA安装包进行加密签名,让iOS系统识别到这个APP是经过授权的,允许安装运行。 如果签名对应的证书被苹果吊销、失效,系统就会识别不出来,APP也就打不开了,这就是大家常说的掉签。 很多做H5封装的开发者应该都有需求,因为很多H5转APP的项目因为内容、资质的问题没法走官方上架,所以必须做IPA签名之后才能分发下载,让用户绕过App Store直接安装到手机上。
接下来是很多人不太了解的证书池机制,我最早做签名的时候,只用单个个人开发者证书,一个证书最多只能绑定100台设备,客户需求多了根本不够用,后来行业里就出现了证书池机制,说白了就是服务商把上百张甚至更多不同类型的正规开发者证书整合到同一个资源池里,根据用户的签名需求、包类型自动调配可用证书,而不是让所有客户共用单张证书。 我现在用的大平台的证书池,不仅分类明确,还预留了30%以上的备用证书,一旦某一张证书出现问题被吊销,系统会自动从证书池里调配新的证书完成补签,很大程度上提升了签名的稳定性。 当然我也踩过证书池的坑,刚入行的时候找过一个个人小代理,所谓的证书池其实就只有两张共享企业证书,几十上百个客户共用,半个月掉了三次签,每次补签都要等大半天,那段时间客户天天找我投诉,最后赔了一点违约金才搞定,换了正规大平台的证书池之后,这种问题就很少出现了。
然后是UDID绑定,UDID就是每一台iOS设备独有的识别码,苹果的签名机制不管是哪一种,只要是用个人开发者账号的签名模式,都离不开UDID绑定。 苹果对99美元一年的个人开发者账号的限制就是,每个账号最多只能绑定100台设备的UDID,超出之后就没法再添加新设备,而超级签名本质就是用多个个人开发者账号整合起来,当用户点击安装链接的时候,自动获取用户设备的UDID,然后自动把这个UDID绑定到对应账号的描述文件里,再完成签名安装,所以每一个安装超级签名的用户,都会占用对应个人账号的一个UDID名额。 我之前也遇到过UDID绑定的坑,有不良商家用已经被苹果封禁的黑个人账号做超级签名,UDID绑定之后没几天,账号被封,所有绑定的用户全都掉签,后来我就只找用正规全新个人账号的平台,UDID绑定都是实时生效,很少出问题。
接下来给大家说一下完整的重签流程,现在行业里基本都是自动化重签了,我最早手动重签的时候要折腾半个多小时,现在整个流程几秒钟就能完成。 一般来说,客户提供打包好的IPA包,不管是原生开发还是H5封装的,第一步都是先对IPA包进行解密,提取包体的基础信息,接下来根据客户选择的签名类型,从证书池里调配符合要求的有效证书,如果是需要UDID的超级签名或者TF签名,就提前获取对应设备的UDID,把UDID写入对应证书的描述文件里,接下来再用证书对IPA包重新进行加密签名,最后生成新的可安装的IPA链接或者TF链接,整个流程就完成了。 我也遇到过重签完没法安装的问题,大部分都不是签名的问题,很多客户提供的IPA包本身压缩损坏,或者权限配置不对,这种情况就得退回去重新打包,很多人会误以为是签名掉了,其实是包本身的问题。
接下来就是大家最关心的,超级签名与企业签名的真实稳定性对比,还有不同渠道的价格,我也把我这么多年拿到的市场价给大家做个参考。 首先说企业签名,企业签名用的是299美元一年的企业开发者账号,不需要绑定UDID,任意设备都可以安装,企业签名主要分共享版和独占版,共享版就是很多客户共用同一张企业证书,价格非常便宜,不管大小渠道,一般一个月也就60到150块钱,但是稳定性真的很差,我统计过我之前用的共享版,平均不到10天就会掉一次签,虽然大部分都说补签免费,但是每次补签用户都要重新下载安装,体验非常差。 而独占版企业签名就是一张证书只给少量客户用,不共享,价格一般一个月是300到600块钱,大平台会比小工作室贵100左右,但是稳定性提升很多,我现在用的独占版企业签名,平均三四个月才会掉一次,掉了之后平台一小时内就能完成补签,大部分情况用户不需要重新下载,直接就能用,非常稳定。
然后是超级签名,超级签名是按下载量收费的,市场价一般是1块到3块钱一个下载,下载量越大单价越低,我拿的一万次下载量单价是1.2元,小渠道可能会更低,但是很多低价超级签名用的都是黑号,稳定性没法保证。 正规超级签名的稳定性比共享企业签名好很多,只要不批量超量装机,很少掉签,我统计正规超级签名的掉签率大概在5%左右,大部分掉签都是因为对应账号绑定满了,或者苹果查到批量操作,正规平台会自动换号重签,不需要用户操作。
接下来就是现在最火的TF签名,也就是TestFlight签名,我整理的这半年的TF签名数据统计,我手头一共112个用TF签名的项目,累计16.8万次安装,一共只出现过1次异常掉签,还是因为客户自己误操作删除了TF测试权限,掉签率不到0.8%,稳定性真的没得说。 TF签名本质就是把APP放到苹果官方的TestFlight测试平台里,是苹果官方认可的内测分发方式,所以苹果根本不会随便吊销签名,价格一般是按包收费,一个包200到500块钱,能用90天,90天之后重新上架一次就行,价格非常划算。
至于官方上架,肯定是最稳定的,用户信任度也最高,但是官方上架审核非常严格,很多H5封装的APP、行业内测APP、特殊工具类APP都过不了审核,所以才会需要用各种签名方式。 这么多年我对比下来,稳定性排序就是官方上架>TF签名>正规独占企业签名>正规超级签名>共享企业签名,大部分情况下,只要选对正规渠道,签名都是非常稳定好用的,我手头90%以上的项目都能稳定运行几个月甚至大半年不出问题,只有偶尔遇到证书问题,补签也很快,根本不影响正常使用。
当然我也遇到过不少问题,除了之前说的小平台共享证书掉签、黑证书出问题,还有补签不及时的情况,之前有一次找一个个人商家做企业签名,掉签之后联系不上人,客户那边几千个用户用不了,最后我赶紧转到TF签名才解决,折腾了整整一天才恢复正常。 所以选签名不能只看价格,更要看渠道的证书资源和售后,正规大平台的证书池都是正规渠道申请的证书,定期更新储备,掉签补签都是免费且及时的,用着放心。
如果大家不知道怎么选,我给大家一个建议,能走官方上架尽量走官方上架,过不了审核的话,长期运营的项目优先选TF签名,稳定性最高,价格也不贵,90天更新一次非常方便;如果是短期活动、用户量比较大的项目,可以选正规独占企业签名,按月付费灵活;如果只是小范围内部内测,超级签名按下载付费,不用提前付很多钱,非常合适。 这么多年用下来,苹果签名本身技术已经非常成熟,只要选对渠道,大部分时候都是稳定好用的,完全能满足未上架APP的分发需求。