我做独立iOS开发快六年了,手里大大小小十几个工具类项目,大半都因为各种原因过不了AppStore审核,常年跟各种苹果签名打交道,踩过的坑能堆一电脑桌。上个月刚给新做的批量壁纸工具做完内测,整理完TF签名测试报告生成,这几天总有新手开发者私我问签名的各种问题,索性把这些年的实战经验写出来,给大家避避坑。

先从最基础的IPA签名说起吧,不管你是原生开发的包,还是H5封装出来的IPA,想要让用户直接在iOS上安装,绕不开签名这一步。核心就是用P12证书给你的安装包做信任授权,我刚入行那会不懂P12证书的用法,自己买了99美元的个人开发者账号,跟着教程生成证书,导出的时候没选包含私钥,折腾了一下午,签出来的包根本安装不了,后来才反应过来漏了步骤。后来更坑,我把导出的P12证书存在公共网盘里,没设密码,结果被爬虫爬走了,拿去签了一堆违规包,没过半个月苹果直接封了我的开发者账号,一年的服务费打了水漂不说,之前好不容易上架的两个小工具也直接被下架,掉了两千多粉丝,心疼了快一个月。所以说P12证书这件事,我必须给大家提个醒,导出的时候一定要勾选保存私钥,必须设强密码,绝对不能随便泄露给外人,哪怕是找第三方帮忙签名,也不要轻易把自己的P12发出去,很多小商家就是靠套个人开发者的P12赚黑心钱,出事了你自己担着。

说回现在市面上不同签名渠道的真实价格吧,做这行这么久,各个渠道的行情我门儿清,绝对不会给大家报虚价。首先是大家接触最多的企业签名,分共享版和独享版,共享版就是几十个人共用一个企业证书,现在市场价大概是50到150块钱一个月,听起来很便宜对不对?我最早贪便宜,60块钱一个月签了个去水印工具包,不到三天就掉签了,找商家补签,商家半天不回消息,好不容易回复补完,五天又掉了,那时候刚攒了一波用户,全部打开提示App不可用,评论区全是骂声,掉粉掉了快一千,从那之后我再也不碰共享企业签。然后是独享企业签名,就是一个证书只给你一个人用,现在市场价大概是300到600块钱一个月,掉签频率比共享版低很多,大概一个月掉一次,但是掉签之后补签很多商家还要收一半的费用,算下来一年小几千,对于我们这种没什么收入的独立开发者来说,成本真的扛不住。

接下来是超级签名,其实超级签名就是设备签名的一种,我给大家讲讲设备签名的原理,说白了就是苹果规定每个个人开发者账号,可以绑定最多100台测试设备,你要装这个App,就得把你的设备唯一识别码也就是UDID绑定到开发者账号的证书里,生成对应描述文件之后再用P12签名,所以每个用户设备都绑定了自己的UDID,只要账号不被封就不会掉签。现在超级签名的市场价大概是1块到3块钱一台设备,按台收费,如果你只有几十个内测用户,那成本也就几十块钱,很划算,要是你有几千个用户,那成本一下就几千块,我之前做活动涨了两千多用户,光签名费就花了四千多,那个工具本身才卖9.9,赚的钱还不够签名费,真的血亏。而且超级签名还要用户手动获取UDID,很多普通用户根本不会操作,我那时候每天要回几十个问怎么安装的消息,折腾的我根本没时间开发,用户体验差到极点。

然后就是大家问的最多的证书分发机制,其实苹果整个签名体系的核心就是信任验证,苹果的根证书信任开发者的P12证书,P12证书签了你的IPA,描述文件规定了这个IPA能在哪些设备上运行,iOS系统验证通过了才允许你安装。企业证书本来是苹果给企业内部开发办公用的,允许不经过AppStore分发,所以一旦证书被滥用,签了太多对外的包,苹果检测到就会直接撤销证书,也就是大家说的掉签,补签就是换个证书重新给IPA签名,要是证书直接被封了,就得重新换证书签,用户还要重新安装,非常麻烦。TF签名不一样,TF是TestFlight的简称,本身就是苹果官方给开发者做测试用的分发渠道,属于苹果官方认可的分发方式,所以只要你的包不违规,苹果根本不会给你掉签,稳定性比任何第三方签名都高。

我之前踩过最坑的一次掉签,是去年跨年的时候做了一个跨年主题的倒计时小工具,提前一周上线,想着就用十几天,贪便宜找了个80块的共享企业签,结果跨年当天下午证书突然掉了,所有用户都打不开,我急得团团转,找商家,商家说客服放假了,要补签就得加钱换稳定版,那时候离跨年只剩不到三个小时,我临时找渠道转TF,折腾了四个小时才弄好,好多用户等不及都删包走了,我那天坐在电脑面前骂了一下午黑心商家,心情坏到极点,从那之后我所有没法上架AppStore的包,全部都用TF签名,真的怕了掉签。

很多人问我,能上架AppStore为什么不上架?我当然想上架,能上架肯定比任何签名都稳定,还能收获自然流量,但是很多个人开发的工具,真的过不了审,比如我做的去水印工具,前几年还能上,后来苹果改了规则,说涉及第三方平台内容解析,直接给我下架了,之后再提了十几次,全部被打回,根本没法上。还有一些测试类的工具,一些给特定用户用的内部工具,根本不符合上架要求,只能走签名分发。

我也经常帮朋友做H5封装,很多做H5应用的朋友,想要把web包封装成IPA装在手机上测试,一开始总想着找免费签名,结果不到一周就掉,推广半天全白费,我一般都推荐他们直接做TF签名,封装完IPA,花两三百块钱做个TF签名,能用大半年,一次都不会掉,用户安装也方便,直接点链接跳转到TestFlight,一键安装,根本不用手动弄UDID,也不用去设置里信任证书,新手用户都能操作。

这次做TF签名测试报告生成,我特意找了一百个测试用户,对比不同签名的安装成功率和稳定性,TF签名的安装成功率达到了98%,只有两个用户因为系统版本太低装不上,而我之前测的共享企业签,安装成功率才72%,近三成用户要么弹不信任,要么装一半失败,还要一步步教用户去设置里信任证书,太麻烦。稳定性方面,我测了三个月,TF一次都没掉,共享企业签平均一周掉一次,独享企业签平均一个多月掉一次,超级签名虽然不掉,但是一百台就要三百多,一千台就是三千多,成本差了十倍都不止。

TF签名现在的市场价也很透明,一般合规的测试包,两百到八百块钱就能弄好,能用三个月到一年,平均下来一个月才几十块钱,比企业签名一个月大几百便宜太多,而且TF有一万个测试名额,完全够大部分独立开发者和小团队用,根本不用不够。我现在用的TF签名,那个壁纸工具已经稳定跑了快八个月,一次都没掉过,也不用天天盯着证书看有没有掉,省了好多心。

我之前也遇过补签的糟心事,之前用独享企业签,掉签之后找商家补,商家说证书被封了,要换证书重新签,还要收我一半的费用,我已经给了五百块一个月的费用,还要再收两百五,气的我直接转了TF,花了三百块弄好,用到现在快一年了,啥事没有,算下来一年才三百多,比企业签名一个月五百便宜太多,真的后悔没早用。

其实签名这行,真的就是一分钱一分货,贪便宜吃大亏是我踩了无数坑总结出来的道理,免费的签名顶多能用七天,还是限设备,根本没法给用户用,几十块的共享签,掉签掉到你怀疑人生,补签还不及时,辛苦做的推广全白费。现在我开发完新功能,打包完IPA,要是过不了AppStore审核,直接就做TF签名,发完链接就该干嘛干嘛,不用天天担心掉签,不用给用户一个个道歉补链接,省出来的时间多更两个功能不好吗。

前阵子有个学生找我帮忙,他做了个毕设App,要给老师演示,一开始找了个免费签名,结果演示前一天掉了,急得快哭了,我帮他弄了个TF,当天就上线了,演示全程顺利,后来他跟我说,要是当时掉了,毕设都要延期,你说这坑要是踩了,得多冤。现在很多新手刚入行,总想着找便宜的签名,结果踩了坑才后悔,不如一开始就选稳定的,省得折腾。