去年从大厂离职做独立iOS开发,一开始瞄准本地骑手群体做了个排班调班的小工具,初衷就是解决站点管理员手工统计排班的麻烦,没想着赚大钱,就是想试试自己做产品的感觉。
一开始我想得很简单,做完了就上架AppStore,老老实实走正规渠道。结果前前后后折腾了一个多月,三次审核全被打回。苹果要软件著作权,要增值电信业务经营许可证,我一个人单干,哪来这些资质?申诉了两次也没用,只能转头走签名分发的路子,这才开始一头扎进苹果ios签名证书申请的各种坑里面。
最早我连什么是P12证书都搞不清,只听别人说要P12才能打包签名。后来摸清楚了,P12其实就是把开发者证书和对应的私钥打包导出的文件,不管是自己申请证书还是找第三方签名,都离不开这个文件。我第一次自己捣鼓苹果开发者后台,申请完证书导出P12,忘了设密码也就算了,还把两个不同账号的P12同时导入了电脑钥匙串,结果打包的时候一直报错,说证书无效,我对着报错信息查了整整三个小时,才发现是证书冲突了。
后来我也踩过买别人P12的坑,花八十块买了个现成的P12,结果导入进去根本用不了,对方说我操作不对,要再加五十块远程帮我调,调完了还是用不了,转头就把我拉黑了。现在我自己申请证书,导出P12之后一定会在云盘、U盘分别备份,密码记在密码管理器里,从来不敢随便把P12发给别人——业内朋友说过,要是有人拿你的P12签违规APP,被苹果查到,整个开发者账号都会被封,自己的APP也全完蛋,这个教训我记牢了。P12使用的时候还要注意对应匹配描述文件,错了也会出问题,我现在都会把同一个项目的P12和描述文件放在同一个文件夹,标注清楚日期,从来不会弄混。
聊到价格,我这一年多换了快五家服务商,不同渠道的真实价格我摸得门清,给大家说点实在的,别像我一开始被坑。自己申请苹果官方个人开发者证书,就是每年交688块给苹果,这个是明码实价,没得讲,最多只能绑定100台测试设备,适合刚起步用户不到一百的小开发者。
然后是企业签名,这是最多人用的。共享版企业签名就是N多个APP共用一个企业证书,价格真的便宜,三四十块到一百块一个月,我一开始贪便宜买过六十块一个月的,结果三天掉了两次签,找商家补签说排队要等一天,那时候我几十个骑手用户等着用APP排班,急得我在咖啡店坐了一上午,手心全是汗。共享版就是这个德行,一个证书塞几百个APP,苹果一扫描就是一抓一个准,掉签是家常便饭,补签也没保障,真的不推荐用。
然后是独享版企业签名,就是一个证书只放十几个正规APP,不会乱塞违规内容,价格就贵一点,普通工具类一般三百到五百一个月,要是用户多或者APP特殊,最高也就一千多一个月,这种就稳定多了,我用了快半年,总共只掉过两次,服务商都是承诺掉签半小时内免费补,最快一次十分钟就弄好了,基本上不会影响用户用。
然后是超级签名,按设备收费,靠谱的渠道一般是两块到三块钱一个设备一年,那种一块钱以下一个设备的千万不要碰,基本都是用的盗来的黑开发者账号,用半个月账号被封,全掉签,找说理的地方都没有。我之前贪便宜弄过一块钱一个设备的,两百个设备花了两百块,半个月全掉,商家卷钱跑了,血本无归。
还有就是TF签名,这个我现在用得最多,也是我觉得最稳定的一种。TF签名是把IPA包上传到苹果官方的TestFlight做内测,本身就是苹果允许的渠道,所以基本不会掉签,价格一般一次性收费三百到五百,三个月有效期,到期了重新上传也就收几十块手续费,一百个用户还是一万个用户都是这个价,适合用户量几千以内的小开发者,太香了。我之前踩过一百多块的便宜TF坑,对方用的是别人的共享名额,没半个月就把我踢下来了,现在找靠谱的服务商三百多块用了快一年,除了三个月续一次,几乎没管过。
很多人刚接触签名,搞不懂设备签名原理,其实说穿了很简单。苹果每个iOS设备都有一个独一无二的UDID,相当于设备的身份证,不管你怎么升级刷机都不会变。苹果的机制就是,只有经过授权的设备才能安装没上架AppStore的APP,签名本质就是把用户设备的UDID提前加到苹果开发者后台的授权列表里,打包的时候把授权信息写进安装包,这样用户手机就能顺利安装了。
UDID绑定就是这么来的,最早我自己用个人开发者证书弄的时候,要一个个找用户要UDID,用户哪会查啊,我写了一步一步的图文教程,还是有好多人不会,我一个个远程协助,花了两天才绑完一百个设备,绑错一个还装不上,要删掉重新来,个人账号最多一百个名额,满了就要删掉旧的才能加新的,真的挺麻烦的。后来才知道有在线工具可以自动获取UDID,用户点个链接就能自动拿到,省了不知道多少事。UDID绑定之后,只要不删掉设备授权,这个设备就一直能装,更新版本也不用重新绑,这点还是很方便的。
不同的证书分发机制也不一样,个人开发者证书就是最多100个设备绑定,适合小范围内测;企业开发者证书是苹果给企业做内部APP用的,不需要绑定单个设备的UDID,只要证书有效,所有设备都能装,所以能做不限设备数的分发,但就是因为太方便,很多人拿来发对外的APP,苹果查得严,所以才有掉签的问题;TF签名就是用苹果官方的TestFlight内测通道,最多可以放一万个测试用户,苹果本身不怎么管合规的小工具,只要你不做违规的,基本不会掉,稳定性是最好的。
我做的小工具最开始就是网页版,骑手们说加书签每次打开太麻烦,能不能弄成APP图标放桌面,我才想着用H5封装成IPA包,说白了H5封装就是给网页套个原生iOS的壳,打包成符合要求的IPA安装包,改需求的时候直接更网页就行,不用重新发包,太适合我这种小开发者了。但是封装完IPA,IPA签名是必须做的一步,没有签名的IPA,iOS系统根本不信任,用户装到一半就会报错,提示“未受信任的开发者”,点了信任也没用,根本打不开。
掉签补签这个事儿,我真的有一肚子话要说。刚做的时候贪便宜,掉签掉得我心态都崩了,早上醒来打开微信,几十条未读消息全是说APP打不开的,那种感觉真的太绝望了,本来就没多少用户,掉个两三次,一半用户都不会再装了,之前的功夫全白费。有次补签等了整整一天,好多骑手因为看不到排班,当天直接没去上工,站长都找到我头上来了,我那个愧疚啊,真的想把电脑砸了。后来摸出经验了,一定要找稳定的,宁愿多花点钱,也不要用那种便宜的共享签名。现在我一般是TF签名放主力用户,独享企业签名做备用,就算一个出问题,另一个也能顶得上,掉签了服务商也能快速补,不会让用户等太久。
之前有一次我更新版本,不小心把TF的包弄失效了,给服务商发消息,十分钟就重新弄好上架了,也没额外收我钱,这种靠谱的服务商真的能省好多心。之前我也想过一直自己申请证书自己签,用户多了之后,100个名额根本不够用,一个个绑UDID也费时间,还是交给专业的服务商来弄,我多花点时间做产品功能不好吗。
最近我又做了一个面向本地骑手的二手交易小工具,还是老规矩,先做H5,封装成IPA,走TF签名分发,从弄完签名到现在三个多月,一次问题都没有,用户装起来也方便,顶多就是多跳一步下TestFlight,比起掉签了重新装,用户都能接受。闲的时候我就逛逛开发者社群,看看有没有新的签名政策,听听大家最近又踩了什么坑,反正做独立开发,就是一步步踩坑踩出来的,能让用户安安稳稳用上我的工具,就是我现在最满足的事儿。