我做独立iOS开发快五年,最早做了一款本地备忘录导出的小工具,一开始一门心思想着上AppStore上架,结果改了三版,三次被拒,理由说功能重复、不符合上架规范,卡了我快两个月,最后实在熬不动,只能转做签名分发,这一头扎进去,才知道这里面的坑比AppStore审核还多。
最开始什么都不懂,搜IPA签名出来一堆广告,看着价格几十块钱一个月就能签,当场就付钱了,结果三天就掉签,早上起来手机炸了,几十条用户消息说APP打不开,点一下就闪退,去找商家,人早就把我拉黑了,那时候刚攒的几百个种子用户,一下子跑了大半,我蹲在出租屋楼下抽烟,差点就放弃回去上班了。
踩坑踩多了,也就摸清楚了苹果签名的那点事儿。其实设备签名的原理说穿了并不复杂,苹果本身给开发者开放了测试渠道,允许你把自己开发的APP安装到指定设备上测试,想要让你的APP能在用户手机上打开,就得用开发者账号生成的证书签名,而每一个允许安装的设备,都需要绑定UDID——也就是苹果给每台iOS设备分配的唯一识别码,把UDID添加到开发者后台的测试设备列表里,再用对应的P12证书和描述文件打包签名,用户手机才能验证通过,正常打开APP。
说到P12证书,新手最容易在这里栽跟头。P12其实就是开发者账号导出的带私钥的证书文件,签名的时候必须证书和描述文件对应,密码正确才能用。我最开始不懂,贪便宜买几块钱一张的共享P12,结果人家说 revoke就 revoke,说没就没,分分钟掉签。后来我自己买了个人开发者账号,才学会自己导出P12,导出的时候设置密码要记牢,存好备份,丢了就得重新吊销旧证书生成新的,耽误事。现在很多新手问我能不能用共享P12,我都劝他们别碰,运气好能用半个月,运气不好三天就没,折腾来折腾去,用户都跑没了。
说一下这么多年我了解到不同渠道的真实价格,给新手做个参考,别再被宰也别踩低价坑。先说共享企业签,就是很多人共用一张企业证书的那种,现在市场价大概是五十到一百块钱一个月,大部分都承诺掉签补签,这种适合短期用的测试包,长期用绝对不推荐。然后是独享企业签,现在一个企业开发者账号本身都涨到三四万了,所以独享企业签一年少说也要大几千,低于一千的独享基本都是骗人的,换着法子坑你。然后是大家常说的超级签,也就是绑定UDID的个人开发者签名,按设备算的话,一个设备一年大概十到十五块,按安装次数算一次一块多,那种几块钱给你签一个APP的共享超级签,基本都是用黑号,说没就没。最后是TF签名,也就是TestFlight签名,苹果官方的测试渠道,价格基本是一百到两百块一千次下载,满额一万次下载大概八百到一千二,这是正常市场价,低于这个的要么是转二手,要么就是坑,说什么几百块终身不限次,纯纯骗小白,毕竟TF本身就有下载次数限制,哪来的终身?
说回证书分发机制,苹果本来就分好几种分发渠道。最正规的就是AppStore上架,经过苹果审核,所有设备都能装,最稳定也最难上,审核严,周期长,小工具小项目很容易被拒。第二种是企业内部分发,用企业开发者账号的证书签名,不需要绑定每个用户的UDID,任意设备都能装,本来是给企业内部做办公APP用的,现在被用来做第三方分发,也就是我们说的企业IPA签名,优点是不用用户填UDID,安装方便,缺点是苹果查得越来越严,很容易掉签,被举报或者证书共享的人多了,分分钟就被吊销。第三种就是Ad Hoc分发,也就是超级签,需要绑定每个用户的UDID,每个个人开发者账号最多绑100个设备,签名商就是攒一堆个人账号一起用,优点是比企业签稳定,掉签概率低,缺点是用户需要获取UDID,麻烦一点。第四种就是TF签名,苹果官方托管的测试渠道,签名后放在TestFlight里,用户直接从TF下载,是目前最稳定的,基本不会掉签,唯一的问题就是TF签名下载次数限制,一个TF应用最多只能有一万次下载,满了就得重新打包提审,而且TF本身也要过苹果审核,虽然比AppStore上架松很多,但也会卡个一两天。
我自己就吃过TF下载次数限制的亏,去年做推广活动,一天涨了八千多下载,本来链接还剩九千次额度,直接就满了,新用户点进去说无法下载,我紧急提新包,结果赶上苹果审核严,等了一天半才过,那一天半损失了快四千个潜在用户,心疼得我吃了三天泡面。现在我学乖了,只要哪个TF链接还剩两千次下载,我就提前打包提新的,做多个链接分流,再也不等到满了才着急。
掉签补签这事儿,我真是太有发言权了。刚做的时候用低价共享企业签,半个月掉个三四次是常事,每次掉签都要重新签名,重新做H5封装,换下载链接,还要通知用户重新下载,很多用户嫌麻烦,直接就删了不用了,掉一次损失一波用户,那时候我经常半夜爬起来处理掉签,迷迷糊糊改链接,那种滋味真的不好受。后来我换了稳定的渠道,长期用的产品基本都走TF或者独享超级签,掉签的次数一个月都不见得有一次,舒服太多了。
说到H5封装,现在很多中小开发者都喜欢把H5页面封装成IPA做分发,成本低,开发快,不用写原生代码,我身边好几个做本地生活、私域工具的朋友都是这么干的。封装完了签名也没什么难度,只要不碰违规内容,加一些隐私声明,提TF基本都能过,比原生APP还好过审,我帮朋友弄过好几个,都顺利下来了。就是要注意,别加违规的跳转或者功能,不然不管你签什么名,都容易被苹果下架,补签都补不了。
UDID绑定很多用户嫌麻烦,其实真没那么复杂,我专门做了一个自动获取UDID的页面,用户点一下就能自动复制,粘贴到我的下载页就能绑定,十秒钟的事儿,用习惯了也就不觉得麻烦了,而且绑定一次之后,就算掉签补签,也不用重新获取,直接就能下载,比大家想的方便很多。想要稳定,就得遵守苹果的规则,UDID绑定本来就是苹果要求的,省了这一步,就要承担掉签的风险,哪有那么多好事儿。
这么多年用下来,我觉得最稳定好用的还是TF签名,毕竟是苹果官方的,只要你不违规,不碰盗版色情赌博这些,苹果基本不会动你的包,一年都不会掉一次,用户下载也方便,直接从TestFlight安装,不用信任证书,用户体验也好。唯一要注意的就是TF签名下载次数限制,提前做好准备,别等满了才着急。其次就是绑定UDID的独享超级签,也比共享企业签稳定太多,适合用户量不大的小产品,长期用也没问题。
我现在还是一直在尝试重新上AppStore上架,毕竟上架之后没有下载次数限制,也不用操心掉签补签,用户信任度也高,但是审核一直卡着,改了好几版还是没过,所以也就先靠着签名分发做着,很多独立开发者其实都是这样,先做签名分发验证产品,跑通流量,等用户起来了再想办法上架,就算一直不上架,靠着签名分发也能活得不错,我现在每个月的收入,比上班时候高多了,也自由。
昨天还有个刚入行的小兄弟找我,问我有没有便宜稳定的签名渠道,说他被坑了两次,已经快没钱了,我给他说了价格,告诉他别贪便宜,别信什么终身不限次,尊重苹果的规则,找靠谱的渠道,少踩坑就是省钱。做独立开发这么久,坑踩了无数,从最开始被人骗几百块,到现在能稳稳当当运营自己的小产品,其实就是慢慢摸清楚了规则,知道什么钱该花,什么便宜不能占。
我下午还要打包新的IPA,提前提一个新的TF包,这个月现有链接的下载量快到预警线了,提前准备好,省得到时候手忙脚乱,坑踩多了,也就学会未雨绸缪了,日子就这样一天天过,小工具慢慢更,用户慢慢攒,其实也挺好。