我做独立iOS开发快六年了,接过不少本地企业的定制开发单,也自己捣鼓过好几款小工具,对苹果签名这块,可以说是踩过的坑比写过的代码还多。今天就以我自己的经历,给刚入行的朋友提个醒,别像我早年一样,为了省几十块钱,亏出去好几千,还弄丢了攒了大半年的种子用户。
做iOS开发的都知道,我们打包出来的IPA安装包,不经过签名是没法在苹果手机上安装的,苹果的闭源机制就是这样,必须要有苹果授权的证书签名,系统才会允许安装运行,这就是最基础的IPA签名逻辑。
最早接触P12证书的时候,我还是个刚接单的新手,那会帮一个本地创业公司做内部考勤APP,客户自己提供了企业开发者账号,让我导出证书签名。我那时候不懂,导出P12之后只存在了电脑本地,做完项目就没当回事,三个月后客户要更新版本,我换了电脑,原来的P12文件找不到了,害得客户重新向苹果申请吊销旧证书,生成新的,折腾了整整两周,耽误了客户的使用,我还少收了一千块钱当赔礼。后来又出过一次事,客户给我的P12我用完没及时删除,电脑中了木马之后证书被偷,对方拿这个证书签了一堆违规的棋牌APP,没半个月苹果直接把客户的企业账号封了,人家一年299刀的账号就这么没了,我最后赔了两千块才把这事摆平。所以现在我用P12证书,一直守着几个规矩:导出后云盘本地多备份,密码存在加密的密码管理器里,用完就立刻删掉本地的证书文件,绝对不随意转发给外人,毕竟P12带完整私钥,泄露出去就是天大的风险。
很多刚入行的朋友搞不懂设备签名的原理,其实说穿了很简单,苹果的开发者计划,不管是99美元的个人账号还是299美元的企业账号,都对可安装的设备有管控,想要让你的APP装在某台苹果手机上,就得把这台手机的唯一识别码,也就是我们常说的UDID,添加到开发者后台的设备列表里获得授权,这就是UDID绑定的逻辑。超级签名说白了就是利用个人开发者账号的设备授权权限,一个个人账号最多可以绑定100台设备,很多签名商收一堆个人账号,拼出几十万的设备额度,帮用户按设备绑定签名,就是这么来的。
说一下目前各个渠道签名的真实价格,大家心里也好有个底,别被坑也别贪便宜。超级签名现在靠谱渠道的价格一般是3-6块钱一台设备,绑定后一年内有效,那种一块两块钱一台的,基本都是用的黑号,说不定哪天账号就被封了,所有设备全掉签。TF签名也就是TestFlight签名,苹果官方的测试分发渠道,如果是自己有开发者账号能自己提,成本就是99美元一年的账号费,找第三方代签代上架的话,一般普通无违规内容的APP,全包价格在三百到八百之间,能提供一万次安装额度,够用很久了。苹果企业签名的价格差的就大了,共享企业签就是一堆APP共用一个证书,一个月价格大概在50到150之间,这种我是碰都不会碰了,太容易掉;独立企业签就是一个证书只放少量几个正规APP,一个月价格大概在300到600之间,稳定性好很多;如果是客户自己提供企业账号,只需要帮忙签名做分发,服务费一般也就一百到两百一次,只要不违规,基本不会掉签。
苹果的证书分发机制其实分四种,大家可以根据自己的项目选。第一种就是大家最熟悉的AppStore上架,这是最正规最稳定的分发方式,所有用户都可以直接在AppStore搜索下载,更新也自动,不会有掉签的问题,但是苹果审核非常严格,很多企业内部APP、小众工具、不符合规范的内容都过不了审,门槛很高。第二种就是苹果企业签名分发,本来是苹果给企业做内部员工APP用的,不需要上架AppStore,也不限制设备数量,签名之后做好H5封装,做一个下载网页,用户点开就能下载安装,非常方便,但是违规用来对外分发的话,就有很大概率被苹果吊销证书,也就是我们说的掉签。第三种就是TF签名,刚才说的,苹果官方的测试分发渠道,审核比AppStore松很多,大部分过不了AppStore的APP都能过,稳定性特别好,只要你不违规,基本不会掉签,唯一的限制就是每个版本最多一万个安装名额,满了换个版本重新提就行了,对大部分中小项目来说完全够用。第四种就是超级签名,按设备收费,绑定UDID,适合用户量不大的种子测试阶段,或者小体量项目,只要账号没问题,稳定性也不错。
我自己做的第一款小工具是壁纸类的,那时候不懂,过了三次AppStore审核都因为版权问题被打回来,没办法只能走签名分发,那时候兜里没多少钱,看淘宝上有个共享企业签名一个月才80块,比别的便宜一半还多,果断就签了。结果你猜怎么着?第三天就有用户找我,说APP打开直接闪退,根本装不上,我一查,证书被苹果吊销了,掉签了。找商家补签,商家说排队,等了整整一天才给我补好,我发了朋友圈通知用户重新下载,结果还是有三分之一的用户嫌麻烦不来了。没成想,才过了四天,又掉了,来回半个月掉了四次,我本来攒的五百多种子用户,最后只剩不到一百个,那时候真的蹲在电脑面前想砸键盘,才明白什么叫贪小便宜吃大亏,掉签一次丢的用户,比你省的那点钱值钱一万倍。
后来我听了同行的劝,把这个工具转成了TF签名,找靠谱的渠道代上架,花了四百多块,结果用到现在快两年了,一次都没掉过,用户安安稳稳用,我也从来没为补签的事操过心,真的太香了。现在很多做H5的朋友找我,说想把H5封装成IPA做成APP,不想上架AppStore,我第一个推荐的就是TF签名,稳定,官方认可,风险小,价格也不贵。H5封装其实很简单,就是用原生webview把H5页面套进去,打包成IPA格式,然后做签名就能分发,很多做本地商家联盟、行业私域工具的朋友都这么做,不用上线AppStore,就能让用户用到和原生APP差不多的体验。
掉签之后补签其实就是重新用新的证书给你的IPA包签名,换个新的下载链接,通知用户重新安装,说起来简单,但是对运营的影响真的很大,老用户流失是小事,如果你是做付费工具或者企业内部APP,影响业务运转才是大问题。我上个月还接了一个工厂的巡检APP单,客户之前找小工作室做的,用的共享企业签,三个月掉了八次,每次都要通知全厂几百个工人重新安装,很多工人嫌麻烦干脆不装,导致巡检数据录不上去,厂长差点把对接的行政开了,找到我的时候,客户就一个要求,必须稳定,多少钱都能接受。我给他做了独立企业签名,用客户自己申请的企业账号,我帮着导出证书做签名,搭了H5下载页,现在一个多月过去了,客户一次补签都没找过我,前两天还给我介绍了新的客户。
其实做这么久我最大的感受就是,签名这行,真的一分钱一分货,稳定好用才是最省钱的,那些打着超低价招牌的签名,要么是共享证书混了一堆违规APP,说不定哪天就被苹果一锅端,要么就是黑户黑证书,说封就封,还有的不良签名商,给你签名的时候偷偷在IPA包里加暗扣广告,最后用户投诉,背锅的还是我们开发者。UDID绑定的时候也要注意,找能自动获取UDID的渠道,别让用户自己折腾,用户体验差了,留存自然上不去。P12证书一定要保管好,千万别随便泄露,不然账号被封哭都没地方哭。
我现在接定制开发,都会给客户讲清楚不同签名的风险和优缺点,能上架AppStore的,我都劝客户尽量上架,正规稳定,用户信任度也高,实在上不了的,再根据用户量选TF签名或者独立企业签名,从来不会为了赚快钱推荐那种便宜不稳的共享签,毕竟做我们这行,口碑才是吃饭的本钱。
对了,最近还有好多朋友问我,说有没有绝对不掉的签名,其实说实在的,除了上架AppStore的,没有谁敢说百分之百不掉,但是找正规渠道,做正规APP,选适合自己项目的签名方式,风险就能降到最低,也能少很多不必要的麻烦。
我现在每天写完代码,打开后台看看用户数据,从来不用担惊受怕哪天起来又掉签,这种安稳,比当初省那几百块钱舒服多了。走的路多了才明白,提前避开风险,比出事之后再补签救场要划算太多,不管做开发还是做产品,稳永远是第一位的。