我是做了四年的独立iOS开发,平时接点定制开发,也自己做一些小工具上线。
刚入行那会,以为所有iOSApp都必须上AppStore,后来接了几个本地商家的内部定制App,还有自己做工具内测的时候,才知道不上架的话,苹果签名是绕不开的坎。
先说说P12证书,我第一次自己捣鼓签名的时候,闹了不少笑话。那时候找了教程,说要从苹果开发者后台导出P12证书,我照着步骤做,导出来之后导入签名工具,一直提示证书无效,折腾了两个多小时才搞明白。原来P12证书是把证书和对应的私钥打包在一起的,我那时候只导出了公钥证书,没把配套的私钥导进去,当然用不了。后来学会了,在mac钥匙串里导出的时候,一定要选对格式,导出的时候设置密码一定要记牢,不然下次导入还是用不了。还有很重要的一点,P12证书不能随便发给不熟悉的人,拿到你的P12就能用你的账号签任何App,如果对方签了违规应用,你的整个开发者账号都会被苹果封掉,得不偿失。
做签名这么久,大大小小的渠道都试过,给大家报报我遇到的真实价格,绝对不瞎编。最便宜的是共享企业签名,就是一堆不同开发者的IPA共用同一个P12证书,我见过最低的是50块钱一个月,还有人卖199块钱包年,听起来真的很诱人。然后是独立企业签名,就是一个证书只放少数几个甚至一个IPA,这种价格差的比较多,合规的工具类一般一个月300到600,如果是对稳定性要求高、流量大的,一个月一千多也正常。然后是超级签名,按设备收费,一般一台设备一年3块到8块不等,几十台设备的话百八十块就能搞定,设备多了成本就上去了。TF签名也就是TestFlight签名,是苹果官方的分发渠道,一般按安装量算,一个名额几分钱到一毛,包周期稳定的话,一个月大概300到800,比企业签名便宜不少,就是有一万个名额的上限。
很多人刚接触签名都会问,设备签名到底是什么原理?说白了,iOS是闭源系统,所有能运行的App都必须经过苹果授权签名,没有签名的IPA,用户就算装上了也打不开。UDID绑定就是其中一种授权方式,每台iOS设备都有一个独一无二的识别码叫UDID,你要把需要安装App的设备UDID加到苹果开发者账号的授权列表里,签名之后只有这些设备能打开App,这就是UDID绑定的核心。个人开发者的99美元账号,最多只能绑定100台设备,所以小批量内测用这种方式最稳,只要账号不被封,基本不会掉签。我第一次做Ad Hoc分发的时候,还不知道有在线获取UDID的工具,一个个让用户连电脑找UDID,折腾了整整一天才收集完二十多个设备的信息,后来才知道用户点个链接就能自动获取,省了不知道多少事。
说到证书分发机制,苹果本身对不同类型的开发者账号,就有不同的分发规则。99美元的个人或者公司账号,核心用途是给AppStore上架用的,同时支持做Ad Hoc的内测分发,也就是我们说的绑UDID的分发,最多100台设备。299美元的企业开发者账号,本来是给大公司做内部员工用的App分发的,不需要上架AppStore,也没有设备数量限制,不需要绑UDID,所以才被拿来做对外的企业签名,这也是现在企业签名的由来。苹果本来就不允许企业证书做对外公开分发,所以一旦检测到某个企业证书对外分发了大量App,或者签了违规内容,就会直接吊销证书,这就是我们常说的掉签。
掉签有多闹心,我太有体会了。刚开始做签名的时候,我贪便宜买了那个50块钱一个月的共享企业签名,那时候给二十多个合作博主做素材工具内测,装好之后大家都能用,我还窃喜省了好几百块。结果第三天早上醒来,微信就炸了,五六个博主给我发消息说App打不开了,点进去直接闪退,提示证书不被信任。我一看,掉签了。赶紧找商家,商家过了四五个小时才回我,说最近苹果查的严,正常,马上给补。补完我重新发了安装包,让大家重新装,结果第二天又掉了。我再找商家,说怎么又掉了,商家说没办法,共享签名就是这样,掉了就补,接受不了也没办法。那半个月我补了四次签,每次都要一个个通知用户重新装,本来我还要改功能,一半的时间都用来处理掉签的事,烦的我真想把电脑砸了,最后退款之后再也不敢碰这种便宜的共享签名了。
补签其实本身不是什么大问题,靠谱的商家掉签之后都会免费给补,怕就怕遇到那种收了钱就消失的小商家,掉签之后找不着人,连补签的人都没有,那才是真的坑。我后来找了圈子里朋友推的做独立企业签名的商家,一个月350块,要求就是不能签违规内容,一个证书最多放三个App,我用了快八个月,只掉过一次,还是去年年底苹果大规模清理企业证书,我的证书刚好被清了,商家当天上午就给我换了新证书重新签好,我发了新链接之后就没事了,一直用到现在都没掉过,真的省心太多。
我也用过TF签名,就是TestFlight签名,去年给一个客户做内部系统内测,一共不到一千个用户,找商家做的TF签名,一分二一个名额,总共才120块,比企业签名便宜太多。TF是苹果官方的分发渠道,真的特别稳,只要你App不违规,基本不会掉,唯一的缺点就是最多只能有一万个安装名额,用户安装还要先装TestFlight,有些用户嫌麻烦不愿意弄,小批量内测用TF真的是性价比最高的选择。
很多人做App喜欢图省事,做H5封装成IPA,我也接过这种活,客户不想做原生,就把手机网页封装成App,H5封装出来的IPA和原生IPA一样,都需要做IPA签名才能在iOS设备上安装,而且H5封装的App更容易被苹果检测到风险,所以我一般都会建议客户用稳定一点的独签,不要用共享签名,不然大概率两三天就掉签。我之前有个客户不信邪,自己找了个99块包年的共享签名签H5封装的App,结果不到一天就掉了,最后还是找我换了独签才稳定下来。
说到AppStore上架,其实能上架的话我肯定还是建议大家上架,上架之后用户直接在AppStore就能下载,也不用担心掉签的问题,还能获得自然流量。但不是所有App都能上架,比如一些企业内部定制的App,一些功能还在测试的内测App,还有一些不符合AppStore审核规则的工具,这些就只能靠签名分发了。我去年做那款探店素材工具,前前后后被AppStore拒了四次,改了五个版本才最终上架,那三个多月的内测期,全靠签名撑着,不然根本没法让博主提前测试提意见。
苹果企业签名稳定吗?其实我这么多年踩坑下来,觉得真的不是所有企业签名都不稳定,关键看你选什么类型,找什么渠道。那种什么阿猫阿狗的App都往一个证书里塞的共享签名,本身就容易触发苹果的检测,掉签本来就是常态,你选那种控制App数量、只接合规App的独立证书,稳定大半年甚至一年不掉都是很正常的事。
前几天还有个刚入行的独立开发者找我问签名的事,说他找了个89块包年的企业签名,一周掉了五次,问我有没有靠谱的渠道,我把我一直在用的商家推给了他,昨天他给我发消息说,换了之后快两周了都没掉,终于不用天天盯着微信等用户说App打不开了。做独立开发本来就有一堆琐事要处理,改bug、对接客户、回应用户反馈,本来就够忙的,没必要在签名这种事上天天折腾,选对了靠谱的渠道,省下来的时间多做点有用的事不好吗。