去年从公司辞职做独立开发,专心做几个面向本地生活的小工具,一开始一门心思想着冲AppStore上架,结果改了三版,还是因为资质和隐私问题卡了审核。问了一圈同做独立开发的朋友,都说先做种子用户内测,攒够反馈再调整上架,这才让我正式接触到苹果签名这堆事儿。
最早我连IPA签名是什么都搞不懂,只知道不上架的iOS包,得签名才能装到用户手机里。那时候iOS16刚更完没多久,我还不知道适配新系统的重要性,随便找了个便宜的渠道就签了,现在想想真是年少无知。
先说说我搞懂的设备签名原理吧,其实说穿了也不复杂,苹果对iOS app安装有严格的管控,任何能装到手机上的app都必须有苹果认可的签名授权。所谓设备签名,本质就是开发者通过苹果开发者账号,把用户设备的UDID绑定到自己的证书里,让苹果认可这个设备可以安装对应签名的app。
UDID绑定这个事,我刚做的时候踩了好大一个坑。那时候不懂,手动给用户绑UDID,操作的时候手滑点了清空原有设备列表,一百多个已经绑定好的用户全掉签,那天早上起来微信九十九+,全是“打不开了”“为什么闪退”,我坐在电脑面前整个人都是麻的,连烟都拿反了。后来花了整整一天,一个个重新收集UDID重新绑定,才把问题解决,走了快三分之一的用户,心疼了好几天。
P12证书是签名的核心,我现在自己有个人开发者账号,每次生成证书之后都会导出带密钥的P12文件,自己签名用。这里给大家提个醒,P12文件一定要自己锁好,千万不能随便给陌生人。我之前把P12给过一个帮我打包的熟人,结果他拿去签了违规的包,没半个月我的证书就被苹果封了,所有绑定的设备全掉签,我欲哭无泪,只能重新买账号重新弄,损失了快一千块不说,用户又走了一大批。导出P12的时候一定要记好密码,我第一次导出没存密码,后来要用的时候死活登不进去,整个证书直接废掉,又折腾了一整天才弄好。
聊点大家最关心的,不同渠道苹果签名的真实价格,我做了快两年,大大小小的渠道都试过,可以给大家报个实底。超级签名按设备收费,个人贩子手里一般3-5块一个设备一年,正规平台一般是5-10块一个设备,成本其实就摆在那,一个个人开发者账号一年99刀,最多100个设备名额,折合下来一个设备成本就快6块,所以那些卖3块以下的,要么是扣量,要么就是用盗来的黑证书,随时会被封,跑了你都找不到人。
企业签名分共享证书和独立证书,共享证书就是几十上百个人共用一个企业证书,价格便宜,一个月五六十到一百多块就能拿下,独立证书是你一个人用一个证书,价格一个月从四百到一千多不等,看证书类型。TF签名就是走TestFlight官方内测的签名,一般一次收费两百到五百,能用三个月,大部分渠道是一千个安装名额以内随便装,超过再加钱,要是要不限制名额,价格会再贵个一两百。
再说说证书分发机制,现在主流三种分发逻辑,大家可以对应自己的情况选。企业签名本来是苹果给企业做内部app分发用的,不需要绑定UDID,任何设备扫了链接就能装,所以才会被拿来做对外分发,但是苹果明确禁止企业证书对外分发,所以查得很严,只要证书里有一个包被举报,整个证书就会被封,所有签过的包全掉签,这就是为什么共享企业签名容易掉,一百多个人用,谁知道哪个签了违规包?
超级签名本质就是用多个个人开发者账号的Ad-Hoc签名权限,攒够设备名额,给每个用户设备绑定UDID再签名,成本比企业签高,但是稳定性比共享企业签好很多,只要账号不被封,就不会随便掉签。TF签名是苹果官方的内测分发渠道,本身就是苹果允许的,所以稳定性是最高的,基本不会掉签,唯一的问题就是有效期三个月,到期要重新签,用户安装要多跳一步装TestFlight,对小白用户不太友好。
我最早贪便宜选了共享企业签名,一个月80块,当时觉得捡了大便宜,结果半个月掉一次,掉了就要补签,补签完要重新出包,让用户重新下载安装,用户嫌麻烦,删了就再也不会回来了。我前前后后一个月补了四次签,掉了快一半用户,算下来省了几百块签名费,亏了几千块的用户增长,真的是贪小便宜吃大亏。
这次iOS17正式推送,我算是见识了不适配新系统的后果,好多旧证书的信任权限没更新,装上去直接提示“不受信任的开发者”,根本打不开。我之前那个旧的共享企业证书,一夜之间全掉,又赶上服务商放假,三天才给补好,又走了一批用户。还是我之前找的那个做TF签名的靠谱渠道,提前一周就通知我要更新证书适配新系统,我提前换好了包,所以TF这边的用户一个都没掉,这就是选对渠道的好处。
掉签补签这个事,我现在已经麻了,刚做的时候掉一次慌一次,现在心态好很多。不同签名掉签的处理方式也不一样,企业签名一般服务商都会承诺掉签免费补,但是共享证书补完没多久还会掉,补来补去花的时间精力,比买独立证书贵多了。超级签名掉签大多是账号被封,补签一般要重新收费,还得重新出包,挺坑的。TF签名基本不会掉,最多就是三个月到期,重新传一次包换个链接就行,折腾一次能用三个月,很省心。
我一直没放弃冲AppStore上架,毕竟上架成功之后,用户直接在AppStore搜就能下,不用搞这些签名的乱七八糟的事,也不会掉签,是最稳定的方式。但是现在审核真的太严了,我做的本地资讯工具,要求必须有ICP许可证,我一个个人开发者,连公司都没注册,根本办不下来,所以只能一直卡在审核,先靠签名分发攒用户,等以后规模起来了,注册公司办了资质,再好好上架。
我最近在做新版本,打算把核心功能做成H5封装,打包成IPA之后再签名,好处就是更新功能不用重新签名发版,只要更了H5,用户打开就是新功能,适配新系统也方便,不用每次更系统都重新签包。很多人以为H5封装不用签名,其实不对,不管你是什么壳,封装出来的IPA安装包,必须签名才能装到苹果手机上,哪怕你是上架AppStore,也是苹果给你签官方的名,所以H5封装之后,IPA签名还是少不了的。
踩了这么多坑,我也总结出来了,什么样的签名稳定好用。如果你的用户不到一百个,真的不如自己花六百多买一年的个人开发者账号,自己导出P12自己绑UDID自己签,完全自己掌控,根本不会掉签,成本比找第三方便宜太多,也安全。如果用户在一千个以内,直接选TF签名,官方渠道,只要你的包不违规,根本不会掉签,就是安装多一步,做个教程图也就解决了,比什么都省心。如果用户更多,暂时又上不了AppStore,那就咬咬牙买个独立企业证书,一个人用一个证书,只要你自己不签违规包,基本不会掉,哪怕掉了,靠谱的服务商当天就能给你补好,比共享签稳定一百倍。
之前我还遇到过,签名服务商说自己的证书全适配新系统,结果收了钱,给的还是旧证书,装上去就是打不开,找过去说理,人家直接把我拉黑了,连补签都找不到人。所以选服务商真的不能只看价格,一定要找做了两三年以上,有老用户口碑的,别找那种天天打低价广告的新号,说跑就跑。
今晚刚把适配完iOS17的新版本包发出去,刷了一会用户反馈,刚看到一个老用户给我发消息说打开没问题,用着还是一样顺手。我喝了一口凉掉的柠檬茶,靠在椅子上看着窗外的夜景,想想做独立开发这两年,磕磕绊绊什么坑都踩过,从连P12是什么都不知道,到现在能把签名这套玩得明明白白,其实也没什么秘诀,无非就是别贪小便宜,提前做准备,适配新系统要赶在用户更新之前弄好,别等全掉了才慌慌张张救火。接下来打算再改一改上架的版本,把资质那边再想想办法,争取下次能过审,也早点让所有用户用得省心。