我做独立iOS开发快五年,大半时间都在和各种签名打交道。最早做小工具开发,满脑子想的都是上架AppStore,改了三版的去水印工具,还是因为版权问题被苹果打回,相册加密APP过了五轮审核,最后因为加密合规卡了脖子,没办法才转向第三方签名分发,这一路踩的坑,说出来能装满一整个硬盘。

最开始接触的就是IPA签名,那时候连P12证书是什么都搞不懂,自己买了99刀的个人开发者账号,跟着网上的教程生成证书,导出的时候忘了勾选包含私钥,折腾了一下午,签出来的包根本装不上,后来才搞明白,P12证书本质是打包了公钥和私钥的文件,签名就是用私钥给IPA包的可执行文件加信任戳,苹果系统验证对应的公钥通过,才允许用户安装,私钥丢了或者没导进去,整个证书就是废的。后来我把P12证书存到了三个不同的网盘,还本地存了备份,就怕上次丢私钥,之前签的所有包全掉,用户炸群的事再发生。 P12证书也别随便外借,我有个开发者朋友,把自己个人账号的P12借给商家签共享包,结果商家拿去签了违规APP,连他的开发者账号一起被苹果封了,里面绑的几百个UDID全废,损失小一万。

说一下这些年我接触过不同渠道签名的真实价格,给新手做个参考。最便宜的是共享企业IPA签名,一个月三十到八十块,有的按安装次数卖,一百次安装才十几块,我刚入行的时候贪便宜买过,第三天起床就发现所有用户的APP全灰了,掉签了。找商家补签,说共享证书被苹果封了,只能换证书重新签,用户要重新下载,补完不到一周又掉,那段时间掉一次跑三十个用户,差评攒了一堆,后来再也不敢碰。然后是独享企业证书签名,一个月三百到六百块,整个证书只有你一个人用,比共享稳定一点,但也不是百分百不掉,毕竟企业证书本来就是苹果给企业内部开发用的,你拿来对外分发,被苹果检测到流量太大,还是会封证书掉签,补签一般商家给一个月免费补一两次,超过就要再加钱,我之前用独享的时候,赶上商家同一个证书下面有人偷偷挂赌博APP,被苹果连坐封了,我两百多用户全掉,补签花了我两百多,心疼好久。

再就是个人UDID签名,也就是大家常说的超级签,价格按设备算,一个设备一年八块到十五块不等,批量拿能便宜一点,五个设备起售。这里刚好说一下设备签名的原理,还有UDID绑定到底是怎么回事。每一台iOS设备都有一个独一无二的UDID标识符,苹果的个人开发者账号,本身允许开发者绑定最多一百台测试设备,用来安装开发中的测试包,所谓超级签,就是把用户的UDID收集上来,绑定到开发者账号的设备列表里,再用对应P12证书给IPA签名,苹果验证设备在列表里,就允许安装了,这个就是最基础的设备签名原理,整个机制核心就是UDID绑定,没有绑定UDID的设备根本装不上。我之前做小范围内测的时候用过,价格不便宜,掉签也不少,很多商家用的都是黑号,盗来的或者刷出来的开发者账号,苹果一清理封号,所有绑定这个号的设备全掉,补签还要重新收集UDID重新签,用户操作一遍又一遍,嫌麻烦直接就删了,我之前有次三百多用户掉了大半,补了我三天,补完只剩不到一百个用户,太糟心。

说了这么多,其实稳定好用的还是TF签名,也就是苹果官方TestFlight的内测签名,这也是我用了三年多,一直没换的方式,刚好今天顺着标题给大家理一遍我常用的TF签名安装流程,其实很简单,新手一看就会。第一步你把调好的IPA包,还有APP的基础信息发给靠谱的服务商,当然你也可以自己上传到开发者后台,我嫌麻烦,一般都是服务商帮弄,服务商先把包上传到TestFlight后台,然后等苹果审核,TF的审核比AppStore松太多了,一般半天到一天就能过,很少卡审核。第二步审核过了之后,服务商会给你生成一个公开的下载链接或者二维码,用户要安装的时候,直接点开链接,点击安装按钮,会自动跳转去AppStore下载TestFlight,这个是苹果官方的应用,完全免费,也不会有安全问题。第三步用户下好TestFlight之后,再回到你分享的链接点允许,自动跳回TestFlight就能下载安装你的APP了,整个流程都是苹果官方的,不用像企业签那样,装完还要去设置里信任证书,用户体验好太多。

讲一下苹果的证书分发机制,大家就能明白为什么TF签名这么稳定。苹果所有的签名分发,本质都是让系统信任你的APP,绕开AppStore的公开上架审核。企业签名用的是企业开发者证书的内部发布权限,本来就是给企业给员工装内部APP用的,违规对外分发,苹果检测到就会吊销证书,也就是大家说的掉签。UDID超级签用的是开发测试权限,本来就限制一百台设备,拼号做大规模分发本身就是打擦边球,很容易被苹果风控封号,封号就掉签。TF签名用的是苹果官方开放的内测分发权限,是苹果允许的分发方式,只要你的APP不是明显违规,基本上不会掉签,就算审核不通过,也不会牵连你的账号,比其他方式安全太多。

我之前帮客户做过H5封装的本地生活服务APP,就是把网页套个原生壳生成IPA,本来客户想省饯做共享企业签,我劝他加钱做了TF,现在用了快一年,一次掉签都没有,用户也没说过打不开的问题,之前客户用企业签的时候,半个月掉三次,补签到服务商都烦了,换了TF之后再也没操过心。

掉签和补签这个事,我真的有一肚子话要说。掉签最恶心的不是补签花多少钱,是用户用着好好的APP,突然变成灰色图标打不开,大部分用户根本不会等你补签,直接就删了找替代品,我之前贪便宜用低价共享签,一次掉签掉了八百多用户,最后剩下不到两百,那可是我做了大半年推广攒下来的用户,从那之后我就认准一个理,省几十块钱的签名钱,最后丢的都是自己的用户,太不值当了。补签的规则各个渠道也不一样,共享签一般只给补一次,再掉就要重新收钱,独享签一个月给补一两次,超级签补签按设备收费,掉一个补一个收一次钱,只有TF签名,补签最省心,我用了三年多只掉过一次,还是因为我后来改功能加了违规内容,被苹果下架了,找服务商重新提审,一天就过了,老用户只要不删APP就能继续用,就算删了,扫原来的二维码就能重新下,不用用户重新操作什么,流失特别少。

我其实一直没放弃上架AppStore,有一些功能合规的小工具,我还是会提交上架,毕竟AppStore有自然流量,用户搜就能找到,但大部分偏功能或者有点擦边的工具,根本过不了审核,苹果的审核规则最近几年越来越严,对小独立开发者太不友好了,很多人做出来的产品,就是因为一点小问题卡在上架,根本分发不出去,TF签名刚好解决了这个问题,审核松,稳定,价格也不贵,我现在用的稳定TF签名,一个工具包,一年包补签也就两百到五百,看APP类型,工具类便宜,敏感一点的贵点,比独享企业签贵不了多少,稳定不止一个档次,对我们小开发者来说真的太友好了。

很多新手问我,UDID绑定是不是所有签名都需要,其实不是,只有超级签和个人开发测试需要绑定每个设备的UDID,TF签名根本不需要,也不限制设备数量,只要你不超过一个月十万次下载,对小开发者来说完全够用,就算下载量上去了,多开一个TF包就行,成本也很低。

上个月我刚做了一个日常用的日程小工具,好多老用户找我要,我本来想直接上架AppStore,结果因为我加了本地存储日历的功能,说我隐私收集不合规,改了两次还是被拒,我直接就做了TF签名,花了两百八十块,现在放出来一个多月,一万两千多下载,一次都没掉过,用户留言全是说用着稳定,比之前我发企业签的时候好评多太多。

做独立开发这么久,从最开始自己折腾生成P12证书,到处找低价签名,踩完所有能踩的坑,到现在认准稳定的TF,其实慢慢就明白,对我们小开发者来说,让用户能稳定用上你做的产品,比什么都重要,省一点签名钱,换来了不停掉签不停补签,最后把用户都耗走,真的得不偿失。现在身边有刚入行的开发者问我签名选什么,我都会说,能做TF就别碰企业签,能做独享就别碰共享,钱要花在让用户安心的地方,才是真的省钱。