做独立iOS开发快六年了,前前后后做了二十多个小工具、小众APP,大部分都是服务特定小群体的,很多不符合AppStore审核规则,这些年跟苹果签名打交道踩的坑,说出来能装满一箩筐。最近总有刚入行的新朋友问我超级iOS签名安装方式怎么弄,怎么选不踩坑,今天就说说我这些年的真实经历,全是干货。
最早我做第一个APP,是一个给铲屎官记录宠物疫苗的小工具,那时候初生牛犊不怕虎,直接提交AppStore上架,结果因为要求访问相册保存疫苗本,隐私规则没写对,连打三次都被拒。那时候没多少钱,耗不起反复修改提交,只能打听怎么不上架也能给用户安装,这才第一次接触到IPA签名。
那时候什么都不懂,P12证书是什么都不知道,找了贴吧里一个便宜的服务商,花八十块买了一个月共享企业签名,装上去没几天就掉了,找对方补签,等了整整两天才回复,说证书被封了,要补再加三十。那时候才知道,掉签原来是这么闹心的事,二十多个测试用户全来找我,我一个个道歉重新发链接,那滋味真不好受。
后来慢慢摸懂了苹果签名的底层逻辑,先说说设备签名原理吧,其实核心就是UDID绑定。每一台iOS设备都有一个独有的UDID,相当于苹果系统认的设备身份证,苹果的签名机制就是,你如果要让用户设备安装不在AppStore的APP,就得把这个设备的UDID提前告诉苹果,登记到你开发者账号的设备列表里,苹果认可了,才会允许这个设备安装。超级签名本质就是用的99美元一年的个人开发者账号的Ad Hoc分发权限,每个账号最多绑定100台设备,签名的时候用户点安装链接,自动获取UDID自动绑定,然后用对应账号的P12证书给IPA重签名,用户直接就能装,整个流程对用户非常友好。
说到P12证书使用,我刚自己弄签名的时候也踩过坑。P12证书其实就是开发者身份的加密凭证,包含了证书和私钥,导出的时候必须在苹果钥匙串里选择「包含私钥」,还要设置强密码保存,不然导出来的P12是没用的,签名的时候直接报错。我第一次自己导出P12,没选包含私钥,折腾了整整一下午,换了好几个签名工具都提示证书无效,后来查了好多资料才发现问题出在哪。而且一个P12对应一个开发者账号,绝对不能混着用,混了之后签出来的包要么装不上,要么装上去几天就失效。现在我自己囤了六个正规注册的个人开发者账号,每个账号的P12我都存在云盘和本地硬盘两份,就怕丢了,证书一丢,所有绑定的设备都用不了,就得全部重新补签,损失太大。
说说大家最关心的,不同渠道的真实价格,这些都是我这些年实打实花过钱的,没有虚的。现在市场上主流的几种签名,价格大概是这样:共享企业签名,就是很多个不同的APP共用同一个企业开发者证书,这种最便宜,一般一个月50到150块,很多新手贪便宜选这个,但我劝大家除非是自己内部测试用,不然绝对不要用,掉签概率高到离谱,我见过一周掉四次的,补签还慢,太折腾。然后是独立企业签名,就是一个证书只放少数几个同类型的APP,不对外开放接很多包,这种一个月大概300到800块,稳定性比共享的好太多,掉签概率低很多,正规服务商掉签了也会免费补签。然后是超级签名,按设备收费,正规渠道用自注册正规账号的,一般一个设备一年3到8块,那种一块两块甚至几毛钱一个设备的,百分百是用的黑号,要么是盗来的开发者账号,要么是已经被苹果标记过的违规账号,用不了多久就会被封,一掉就是全掉,找谁都没用。然后是TF签名,也就是TestFlight签名,苹果官方的测试分发渠道,这个一般按次收费,普通的APP一次150到300块,包上架,链接有效期90天,一些审核比较严的轻微违规的APP,一次大概400到600块,大部分都是包过,掉了免费补,这个价格是现在的行情,我上个月刚找熟悉的服务商上了一个新工具的TF,花了280,三天就过了,很稳。
说证书分发机制,苹果现在官方认可的三种分发模式,对应三种不同的签名,大家搞懂这个就不会乱选了。第一种就是AppStore上架,走的是官方App Store分发,用生产证书签名,所有用户都能下载,最稳定,用户信任度最高,但是审核非常严,很多小众工具、测试版APP不符合要求过不了,这也是为什么大家要找其他签名的原因。第二种是In-House企业分发,就是企业签名用的,用的是299美元一年的企业开发者账号证书,不需要绑定UDID,任何设备都能安装,不需要经过App Store,所以苹果管控非常严,只要证书装机量太大,或者APP有违规内容,直接封证书,一封就全掉签,这就是企业签名掉签多的原因。第三种就是Ad Hoc和TestFlight分发,Ad Hoc就是超级签名用的,需要绑定UDID,每个账号有限制,TestFlight就是TF签名,苹果官方给开发者测试用的分发渠道,本身就是苹果认可的,所以稳定性极高,只要不违规基本不会掉。
我之前踩过最大的一个坑,就是贪便宜买低价超级签名。前年我做了一个付费的自驾路线导航工具,一共攒了八百多付费用户,那时候图便宜,找了一个一块二一台设备的,算下来才不到一千块,比正规的便宜四千多,我当时还觉得自己捡到宝了。结果不到一个月,对方的所有账号都被苹果封了,八百多用户的APP全部打不开,一夜之间我的微信消息炸了,全是来问怎么回事要求退款的。那段时间我每天睡醒打开手机就是几十条未读消息,饭都吃不下,本来赚的一点钱,全拿来退款都不够,最后没办法,只能找正规服务商,五块钱一台设备重新签名,花了四千多,才把用户稳住,从那之后我就认准一个理,签名这东西,一分钱一分货,省那点钱,掉一次签亏的底朝天。
现在只要是不能上架AppStore的APP,我第一选择都是TF签名,真的太稳定了。我有一个给车友做的车机互联测试工具,不能上架AppStore因为涉及修改车机设置,最早用超级签名,后来转TF,到现在快三年了,从来没掉过签,用户打开就能用,根本不用我操心。TF也不是没缺点,一个测试链接最多一万个测试设备,用户超过一万就得重新弄新链接,而且TF也有审核,有些违规内容过不了,这种情况下我才会选正规的超级签名。
很多做H5封装的朋友找我问签名的事,我也说两句,现在很多开发者把做好的H5网页封装成IPA包,也就是H5封装,用来给用户用,不需要上架,这种签名的时候一定要注意,封装出来的IPA包,包名不要乱填,签名用的P12一定要是生产证书,不能用开发证书,我之前帮一个做本地生鲜商城的朋友弄过,他封装完用开发证书签名,结果只有他自己的手机能装,其他用户装上去就提示未信任,打不开,折腾了两天才发现是证书类型错了,重新导出生产证书的P12重新做IPA签名才好。
说到超级iOS签名安装方式,其实操作起来对用户非常简单,服务商把签好名的安装包放到下载服务器,做一个H5下载页,用户打开网页点击安装按钮,系统会自动弹出安装提示,用户同意之后,桌面就会生成APP图标,不需要连接电脑,不需要越狱,甚至大部分都不需要用户手动信任证书,因为UDID已经绑定过,苹果官方是认可的,体验比企业签名好太多。
UDID绑定这里也有个小坑要提醒大家,有些不良服务商,你买了多少个设备名额,他会把很多没用的空UDID绑定进去占你的名额,或者同一个UDID重复算钱,所以选超级签名的时候,一定要找能自己后台看UDID列表的,能自己管理设备的,不至于花了钱,名额被占了还不知道。
补签的问题我也多说两句,掉签其实不可怕,可怕的是服务商不给补,或者补签拖很久。我之前遇到过一个小服务商,收了我一年的超级签名钱,三个月就联系不上了,群也解散了,所有用户全掉签,我只能自己买单重新弄。现在我合作的都是做了三四年以上的老服务商,掉签之后几个小时就能补好,哪怕是账号被封了,也会免费给重新签,不用额外出钱,舒服很多。
做独立开发这么久,我一直觉得,做小众APP最核心的就是稳定,用户付费买你的产品,最基本的要求就是能打开能用,签名不稳,功能做的再好也留不住用户。我现在选签名,从来只看稳不稳,价格只要不是太离谱就接受,毕竟掉一次签损失的用户,比省那点签名钱值钱多了,找对了靠谱的渠道,就长期合作,也省得换来换去继续踩坑。