做独立iOS开发快五年了,大半的烦心事都来自签名这块。一开始刚入行的时候,以为把代码写完打包出IPA就算完工,真到要给用户安装的时候才傻了眼,不上AppStore的应用,没签名根本装不上,一碰一个“未验证开发者”,谁都打不开。

最早自己折腾,买了个人苹果开发者账号,年费688,跟着网上的教程生成证书,导出P12的时候没注意,没选带私钥,结果折腾了半宿,签出来的IPA始终验证失败,翻了好多帖子才知道,P12证书就是把苹果颁发的证书和对应的私钥打包在一起,没有私钥的P12根本没法用,等于一张废卡。

后来用熟了才知道,P12证书一定要自己保管,千万不要随便给外人用。之前有个一起做开发的朋友,图省事把自己账号导出的P12给了签名服务商帮忙代签,结果服务商偷偷拿他的证书给好几个违规应用签名,没过半个月苹果直接封了他的账号,自己正经做的应用全掉签,申诉了大半个月都没解,大半年的心血白费了。

这么多年踩坑踩下来,各个渠道的真实价格我门儿清,网上好多报价都是坑外行人的。共享企业签名,现在市价就是一个月20到50块,适合临时给几个内测用户用用,正式运营绝对不能碰,我最早贪便宜花29块钱买了一个月,第三天就掉签,找商家补签排了一天队,那一天掉了近一半种子用户,心疼好久。

独立稳定的企业签名,现在一个月大概200到500块,看应用类型,稍微敏感一点的应用价格会更高,这种签名一般一个证书只放几个应用,不会像共享版那样堆上几百个,苹果不容易检测到,掉签率低很多,正规服务商掉签了都是免费补,几个小时就能弄好。

超级签名是按设备数收费的,现在一个设备的终身价格大概3到8块,超过10块的基本就是黑心服务商赚差价,成本本来就不高。超级签名的原理就是用个人开发者证书,绑定用户设备的UDID,苹果本来就允许个人开发者给绑定了UDID的设备安装测试应用,一个个人账号最多绑100台设备,所以服务商都是用大量个人账号拼额度。

说到UDID绑定,这块其实很多新手搞不懂,简单说就是每台iOS设备都有一个唯一的识别码叫UDID,要给这台设备装你签名的测试应用,就得先把这个UDID加到你开发者账号的设备列表里,绑定之后苹果才会允许安装。超级签名安装的时候为啥要跳一下获取UDID?就是因为要拿到这个码绑定,流程麻烦,好多用户不会操作,半路就走了,流失率特别高。

苹果的证书分发机制其实卡的很严,不同账号的证书权限不一样,个人账号只能做测试用的签名,最多绑100台设备,企业账号本来是给企业做内部分发用的,可以不用绑UDID,随便装,只要证书没被封就能用,所以很多不上架的应用都用企业证书签名。不管哪种签名,核心都是合法的P12证书,没有证书根本签不了,苹果系统验不过去,验证不通过就是大家说的掉签,应用直接打不开。

最近这两年找我做H5封装成IPA的客户特别多,大多是本地小商家,或者做私域分销的,把手机网站套个壳就想当APP用,这种套壳应用百分百过不了AppStore审核,苹果现在查套壳查的特别严,只要检测出是H5封装没有实质原生功能,直接拒审,只能做IPA签名分发。我一般给这类客户推荐两种,用户少的直接弄TF签名,用户多的就弄稳定企业签名,不会乱推荐贵的,毕竟大家做生意都不容易。

TF签名其实就是TestFlight签名,是苹果官方给开发者测试应用用的渠道,本身就是苹果认可的,所以根本不存在随便掉签的问题,只要你的应用不违规被苹果下架,放一年半载都没事。现在TF签名包上架成功的价格大概100到400块,一次上架管90天,到期了重新上一次也没多少钱,最多百八十块,中小应用一万个用户以内完全够用,比企业签名稳太多了。我自己做的几个没法上架的小工具,全都是用TF签名分发,比之前用企业签名省心一万倍。

掉签这事我真的太有发言权了,之前用共享签名,一个月掉个三四次都是常事,补签还要排队,有时候赶上周末服务商不上班,掉个两三天,用户全跑光。后来换了所谓的不掉签超级签名,用了三个多月服务商直接跑路,我充了一千多的额度剩一大半,联系不上人,只能认栽。补签也有坑,之前碰到过服务商说好掉签免费补,真掉了说我的应用违规,要加钱才给补,不然就不管,那时候刚好做推广,用户量涨的正快,没办法只能乖乖加钱,从那之后我找服务商一定要签书面的协议,说清楚什么价格什么服务,掉签补签加不加钱,再也不碰口头约定的小商家。

其实能上架AppStore当然是最好的,上架之后根本不存在掉签的问题,用户直接从应用商店下载,信任度也高,我有几个符合要求的小工具都上架了,省心太多。但是真的有很多应用过不了审,比如我做的那个去广告的浏览器扩展,前后提交了四次,次次被拒,说我涉及不正当修改网页内容,没办法只能走签名。还有很多客户的应用本身就是给内部员工或者会员用的,不想公开上架,也会走签名分发,不需要让所有人搜到,用着灵活。

自己弄P12证书的时候,一定要记得备份,导出的时候存好密码,我最早的时候换电脑,忘了把旧电脑里的P12拷出来,原来的证书过期作废,重新生成证书又要重新签名,所有用户都要重新安装,又损失了一批老用户,这个教训我记到现在。还有,不要贪便宜用共享的P12证书,几百个人用同一个证书,哪天苹果一封,所有人都掉签,哭都没地方哭,我见过一个做灰产的团队,用共享证书,掉签一次损失几十万,真的不是夸张。

很多人找我问有没有绝对不掉签的签名,说实话,除了上架AppStore的,真没有百分百绝对不掉的,就算是TF签名,应用违规了也会被苹果下架,但是相对来说,TF签名已经是现在最稳定最接近不掉签的选择了。我之前也碰到过有人说企业签名做了什么防掉签处理,能一年不掉,结果我朋友用了三个月还是掉了,其实就是概率问题,共享证书掉的概率高,独立证书掉的概率低,苹果哪天查到你了,该掉还是掉。

这段时间帮好几个刚入行的独立开发者弄签名,都会把这些经验说给他们听,不要贪便宜,找对适合自己的方式,比什么都重要。我现在新做的本地生活查询工具刚封装完,已经上架TF了,这几天用户量涨的挺稳,不用天天盯着有没有掉签,不用天天给用户解释为什么打不开,能腾出更多时间改功能做运营,真的舒服太多。