做独立iOS开发快五年了,前两年大半的精力都耗在签名上,几乎每天都能收到用户私信说,苹果ios签名无法打开,点进去就闪退,要不就是提示无法验证应用。 那时候我做了第一款面向摄影爱好者的调色小工具,本来功能做得挺顺,用户口碑也不错,就是过不了AppStore审核,前后被拒了四次,说我本地存储用户原图不符合隐私规范,还要我提供各种资质,我一个小开发者哪折腾得起,就想着走IPA签名分发这条路,谁知道一脚踏进坑里,大半年都没爬出来。
最早我自己有苹果个人开发者账号,一年99美元那个,那时候不懂P12证书使用,以为导出个文件就能给别人签名,折腾了半天才搞懂,P12证书其实是把你开发者账号里的证书和私钥打包在一起的文件,导出的时候必须勾选包含私钥,还要设置提取密码,不然服务商拿到也没法用,签出来的包百分百打不开。 我第一次导出就忘了勾私钥,折腾了整整三个小时,用户那边二十多台设备全都装完提示无法打开,我对着电脑抓头发,差点把键盘抠坏。
要说设备签名原理,其实说白了就是苹果的规则,所有安装到iOS上的应用,必须要有合法签名,系统验证不通过,直接不让你打开。 个人开发者账号给测试设备安装应用,本身就是苹果开放的测试权限,原理就是绑定UDID,UDID就是每台iOS设备唯一的识别码,你把用户的UDID加到开发者后台的设备列表里,再把这些设备ID写到描述文件里,给IPA重新签名,这样系统就能验证通过,用户就能正常安装使用了。
这就是UDID绑定的本质,我最早自己给小范围用户做签名,就是一个个让用户发UDID过来,我手动去后台加,手动生成描述文件,手动打包,那时候才三十多个用户,我就忙了整整一天,腰都坐僵了。 后来才知道有超级签名,商家帮你做自动获取UDID的H5页面,用户点一下就能自动拿到UDID,自动签名,自动生成安装链接,省了好多事。
但价格这里我必须说句实话,市场上不同渠道的价格差太多,水太深,我这些年踩坑踩出来的真实价格,给大家说清楚,别再被骗。 先说超级签名,就是用多个个人开发者账号拼的那种,按设备收费,正常行情是2块到4块钱一个UDID,量大可以谈优惠,低于1块5一个的绝对别碰,要么就是用的黑号,要么就是扣量,用不了几天账号就被苹果封,所有设备全掉签,我最早贪便宜拿过1块2一个的,两百多用户,不到一周全用不了,找商家已经找不到人了。
然后是企业签名,用299美元一年的企业开发者账号签的,分共享证书和独立P12证书两种。 共享证书就是一个P12给几十上百个APP用,价格便宜,正常行情一个月80到150,低于50的肯定不稳,我之前买过60块钱一个月的,最多一个星期掉三次,补签还要一次收30块,一个月补下来比签名费还贵。 独立P12证书就是整个证书只给你一个APP用,价格自然贵,按月付的话一般300到600一个月,包年的话2000到3500一年,这个价格是正常的,不要贪便宜找那种一千多包年的,大概率是给你换共享证书骗你。
再就是TF签名,也就是TestFlight签名,苹果官方的测试分发渠道,正常价格是帮忙上架一次200到600,能用90天,到期重新上架就行,如果你的IPA需要调整,一般也就加个一百两百,不会乱加价。 我现在用的就是这个,真的稳,除了到期要重新上,基本不会掉,也不会有无法打开的问题。
证书分发机制现在其实就是这三种,各有各的好。 企业签名不限设备数量,也不需要用户跳转到TestFlight安装,适合用户多的产品,只要证书稳,用着很方便。 超级签名绑定UDID,一个设备绑定一次,只要账号不封就不会掉,适合小范围几百个用户用,成本也可控。 TF签名是苹果官方的,稳定性最高,不会被苹果莫名抽查掉签,只要APP不违规,基本一次就能过,不限设备数量,也不用绑定UDID,对用户来说最友好。
我最早做H5封装的时候,还踩过打包的坑,我那个工具一开始是网页版,用户说想要更流畅的APP体验,我就找了个商家做H5封装,把网页打包成IPA,结果打包的时候商家把包名写错了,签完名之后所有用户都打不开,提示苹果ios签名无法打开,我以为是签名的问题,换了三个服务商签名都不对,最后才发现是打包的时候配置信息错了,改完包名重新签就好了。 所以说很多时候打不开不一定是签名的问题,H5封装的时候信息不对,IPA本身有问题,也会导致签名验证失败,别上来就怪签名服务商。
说到掉签,我真的有一肚子苦水,刚做那会贪便宜用便宜的共享企业签,半个月掉了六次,每次掉签所有安装过的用户都用不了,我要一个个发通知,一个个教用户重新安装,有的年纪大的用户不会弄,还要一步步截图标注教,那段时间我每天睡醒,打开微信就是几十条未读消息,全都是问为什么打不开,真的看到“无法打开”这四个字就头大,好几次都想把电脑合了不做了,反正赚的钱还不够交签名费,不够生气的。 之前有朋友劝我用那种免费签名,我试过一次,弹一堆广告就算了,三天两头掉,用户都被弹跑了,还不如花点钱买个清净,做产品本来就是靠口碑,用户天天打不开,再好的功能也留不住人。
补签这里也要说,很多不良商家,签名卖得便宜,补签一次收几十块,我之前遇到过一个,签名100块一个月,补签一次30,一个月掉了四次,补签花了120,比签名费还贵,找他理论,他说掉签是苹果的问题,他也没办法,气的我直接换了服务商。 找签名一定要提前问清楚,掉签是不是免费补签,包不包补,很多坑都在这里埋着,别等掉签了才发现还要加钱。
AppStore上架其实我也试过,后来找了代上架,花了一千二,好不容易上去了,结果不到一个月就被举报下架了,说我用的滤镜素材侵权,我一个小开发者哪去跟人打官司,索性就彻底放弃上架了,专心做签名分发。 其实能上架AppStore当然最好,不会有无法打开的问题,用户也更信任,还能接应用商店的流量,但是很多小开发者的产品,要么是企业内部用的,要么是不符合苹果的僵硬规则,要么就是不想给苹果抽三成提成,只能走签名这条路,真的是没办法的事。
要说现在什么最稳定,我玩了这么多年签名,负责任说,TF签名是真的稳,只要你不违规,苹果不会给你下架,也不会掉签,用户安装也简单,点个链接跳转到TestFlight下载就行,不用弄UDID,不用折腾描述文件信任,小白用户也能自己装。 我现在新用户都引导走TF,基本不会出问题,老用户要是TF名额满了,就用独立P12证书的企业签名,我现在用的这个独立签,用了快一年了,只掉过一次,还是因为我更新加了新功能,苹果检测到触发了风控,服务商半小时就给我补签好了,用户几乎没感知,体验好太多。
之前我也不信什么一分钱一分货,觉得不就是签个名吗,能差到哪去,贪便宜吃了大亏,现在反而觉得,多花点钱买稳定,太值了,不用天天盯着掉签,不用天天给用户解释道歉,我能腾出时间改功能,优化用户体验,比什么都强。
现在我每天打开私信,很少再看到用户说苹果ios签名无法打开了,终于能安安稳稳喝杯咖啡,改改用户提的需求,偶尔和老用户聊聊天,交流一下调色思路,比之前天天给用户救火的日子舒服太多了。 其实做独立开发本来就不容易,很多坑都是要自己踩过才懂,签名这点事,说复杂也复杂,说简单也简单,找对渠道,不贪小便宜,其实也就没那么多烦心事了。