我是一名独立iOS开发者,去年下半年做了个区块链小工具,主打钱包地址管理和区块信息查询,一开始一门心思琢磨着上AppStore。
那段时间改包改得头大,苹果审核对区块链相关应用卡得特别严,只要沾一点和虚拟币相关的延伸内容,直接打回。我前后改了五次,花了一个多月时间,还是没通过,那时候已经拉了种子用户群等着用,没办法才转头研究苹果签名这条路。
一开始我连IPA签名是什么都搞不懂,只知道打包出来的IPA包,不上AppStore的话,必须签名才能装在iOS设备上。那时候搜论坛教程,看到说可以自己弄P12证书签名,就跟着折腾。
P12证书其实就是带私钥的开发者证书导出文件,拿到手还要对应解压密码,导入到Mac的钥匙串里,就能用签名工具给IPA重签名了。我一开始从自己的个人开发者账号导出P12,我的账号就是每年交688给苹果的正版个人开发者号,本来就是用来提交AppStore上架用的,想着自己签名不额外花钱,结果折腾半天,才发现个人账号签的包,最多只能绑定100台设备,还要每台都绑定UDID,只够小范围内部测试用,用户多了根本不够。
后来找不同渠道找签名,踩了一堆坑才摸清楚现在市面上真实的价格,根本没有网上说的那种几十块钱包一年的好事。现在我摸透的真实行情大概是这样:共享企业签名,就是一堆不同APP共用一个企业开发者证书,非敏感类应用一般一百到三百元一个月,像我这种区块链类的敏感应用,大部分渠道都不愿意接,接的话也要五百左右一个月,而且这种共享签稳定性极差,哪天证书被封你都来不及反应。然后是独立企业签名,就是一个证书只放你一个APP,稳定性要高很多,非敏感应用大概三百到六百元一个月,区块链这种敏感的大概八百到一千五元一个月,只要不被恶意举报,能用很久。然后是超级签名,按设备收费,正常稳定的超级签名大概两块到五块钱一个设备,掉签补签不额外收费,那种几毛钱甚至不到一块钱一个设备的,百分百是坑,绝对别碰。然后是TF签名,也就是TestFlight官方签名,走苹果官方的测试通道,是目前最稳定的签名方式,一般一个链接能用三个月到半年,价格大概三百到八百元,用户多需要多开链接的话再加钱。还有P12证书本身,个人开发者的P12自己申请就是每年688元苹果官方收费,买现成能用的大概一百到两百元一年,企业开发者的P12现在苹果卡得严很难申请,市场价大概两千到四千元一年。这就是目前所有渠道的真实价格,别信那种九十九块钱包一年无限安装的,绝对是骗子。
设备签名的原理其实一点都不复杂,苹果的核心机制就是,只有经过苹果信任的开发者证书签名的应用,iOS系统才允许打开,说白了就是苹果要管控所有装在iOS系统上的APP。我们做的离线签名,说白了就是蹭了苹果给开发者开放的测试分发通道,绕过了AppStore的上架审核。这里说的UDID绑定,就是每一台iOS设备都有一个唯一的UDID识别码,个人开发者账号允许你最多绑定100个UDID,绑定之后,用你的P12证书给IPA签名,这个签名就只认绑定了UDID的设备,所以就能正常安装使用,这就是整个设备签名的核心逻辑。
我一开始贪便宜,找了个某宝商家做共享企业签名,三百块钱包三个月,说区块链的能接,我那时候急着上线,直接转了钱,打包好发过去,当天就出了安装链接,我兴冲冲发去用户群,两百多种子用户都装上了,结果不到两周,我早上起来打开手机点APP,直接弹“未受信任的企业开发者”,掉签了。
找商家,商家说证书被苹果封了,补签要再加两百块,不然不给弄。那时候我刚拉起来的用户,真的不敢掉,没办法只能再加钱,结果不到十天,又掉了,再找商家,商家已经把我拉黑了,店铺都关了,那时候真的欲哭无泪,做独立开发本来就没多少启动资金,钱花了不说,用户跑了一大半,那几天天天蹲在开发者论坛骂坑。
后来我换超级签名试试,那时候用户也就剩不到一百个,想着按设备买也花不了多少钱。我又贪便宜找了个八毛钱一个设备的,付了八十块钱,装上去第三天又全掉了,后来问圈内朋友才知道,这种低价超级签名,都是用的被苹果标记过的黑号,要么就是循环删UDID,你装完之后,他把你的UDID删掉给新用户用,你自然就掉签了,合着八十块钱买了三天使用权,真的坑到家了。
后来朋友给我介绍了一个做签名的老商家,我才用上稳定的服务,现在大半年了,也就掉过两次,而且补签都不用额外加钱,两小时内就能弄好,体验真的差很多。
我这个小工具本来就是H5做的,找专门的人做的H5封装,套个iOS原生壳生成IPA包,然后再做IPA签名,封装也就花了几百块钱,一开始我不懂,封装的时候把跳转行情和社区的链接都放进去了,结果人家说你这个内容太敏感,容易触发苹果检测导致证书被封,帮我删掉调整了一下,现在确实稳定很多。
说到证书分发机制,其实目前主流的就三种,一种是企业证书分发,就是用苹果给企业发放的企业开发者证书,本来是给企业做内部APP分发用的,不需要经过AppStore审核,所以被拿来给第三方APP做签名,分共享和独立就是看一个证书里放几个APP。第二种就是个人证书分发,也就是超级签名用的模式,每个设备绑定UDID,走个人开发者的测试安装通道。第三种就是TF分发,也就是TF签名,走苹果官方的TestFlight测试通道,这个是苹果官方认可的分发方式,所以最稳定,只要你APP本身不违规,苹果不会随便封,掉签一般都是链接到期了,提前续期重新弄一个就好了。
我现在就是主用TF签名,然后用独立企业签名做备用,TF签名真的太香了,用户安装不用去设置里信任证书,直接从TestFlight下载,和从AppStore安装体验差不多,而且很少掉签,我去年11月弄的第一个TF链接,用到今年2月份到期,中间三个多月一次都没掉过,到期之前提前弄好新链接,通知用户更新一下就好了,费用也就五百多块钱,比我之前做共享签花的钱还少,还稳定。
当然TF签名也不是完美的,每个TF链接最多只能加一万个测试设备,我现在用户快五千了,再过段时间就要开第二个链接了,而且TF提交也需要审核,虽然比AppStore上架松很多,但是违规内容也过不了,像我这种区块链工具,只要不碰交易,只做基础查询管理,很容易就过审,要是那种带交易功能的,可能就过不了TF,只能用企业签名。
说到P12证书使用,我后来也自己弄过独立的企业P12,打算自己签名省点钱,结果花了三千多买了个企业P12,弄了不到一个月,证书就被苹果封了,因为我不懂,买的是别人洗过的旧号,本身就有风险,后来还是找商家做签名,人家拿大渠道的正规证书,就算封了也给你免费补,比自己弄省心多了,真的,小开发者没必要自己弄证书,费那个劲,找个靠谱的稳定渠道比什么都强。
之前还有一次掉签,是我自己作死,导出P12的时候不小心把苹果开发者后台的原证书删了,结果所有已经装了的用户全掉签了,那时候我刚弄好一百多台设备的超级签名,一下子全废了,只能重新弄,一个个通知用户重新安装,折腾了我整整一天,那时候才明白,P12证书一定要备份好,私钥不能丢,原证书删了之前签的所有包就都废了,这个坑我替大家踩过了,一定要记住。
UDID绑定这个事还有个坑要提醒大家,有些不良商家,你买超级签名,他给你用一个开发者账号绑远超100个设备,苹果的规则就是一个个人开发者账号最多100个测试设备,超过了苹果就会盯上,很容易封证书,所以就算再便宜,也不能买那种不限制设备数的超级签名,百分百用不了几天。
我其实一直没放弃AppStore上架,每年都交着688的开发者年费,每隔两三个月就改一遍包,重新提交审核,现在政策其实慢慢放开了,只要是正规的区块链工具,不涉及虚拟货币交易,不碰资金相关的内容,还是有机会过审的,我最近一次提交已经进入二次审核了,比之前进步很多,就算之后成功上架了,我也会保留签名分发的通道,毕竟很多海外用户,还有不想从AppStore下载的用户,直接装签名包方便很多。
做独立开发这一年多,从啥都不懂到踩了一堆坑,其实苹果签名这块,真的就是一分钱一分货,想要稳定就不能贪便宜,掉签真的太伤用户了,好不容易攒起来的用户,掉个两三次就全跑了,找个靠谱的商家,稳稳定定的,比什么都强。我现在用的服务,掉签免费补,几个小时就能弄好,这么久用下来也没出过大问题,挺踏实的,做小工具本来就是细水长流,稳定比什么都重要。