作为做了五年的独立iOS开发者,我太懂签名对我们这种小开发者的意义了。
最早一开始做应用,总想着能上AppStore,毕竟正规渠道,用户下载也方便,不用折腾信任证书什么的。可现实就是,我做的几个小工具,要么是功能碰了苹果的红线,要么就是被判定成4.3重复应用,前前后后提交了十几次审核,全被打回来了,没办法才开始折腾ios签名这回事,踩过的坑能凑满满一箩筐。
先说说大家最常问的P12证书使用吧,我刚入门的时候连P12是什么都搞不清楚。最开始从苹果开发者平台下载的证书是cer格式,我直接拿去签名,怎么签都报错,说找不到有效私钥,折腾了整整一个下午,后来才搞明白流程。要生成可用的P12,得先在本地钥匙串生成证书请求文件,上传到苹果开发者平台生成cer证书,下载下来双击导入钥匙串,之后导出的时候一定要勾选包含私钥,设置好密码,导出来的才是能用的P12证书。
这里给大家提个醒,P12证书里包含你的私钥,千万不要随便传给陌生人,更不要随便卖给别人。我之前认识一个开发者,贪小便宜把自己闲置的个人开发者P12卖了,结果对方用这个证书签了恶意应用,最后苹果直接把他整个主开发者账号封了,里面好几个正经上架的应用也没了,哭都没地方哭去。还有,P12一定要多备份几份,存在云盘里,我之前电脑重装系统忘了备份,原来的证书直接作废,只能重新申请,害得所有老用户都得重新安装,那阵子骂声一片,我差点就放弃维护那个应用了。
讲完基础的,给大家报报目前不同渠道签名的真实价格,都是我这些年真金白银砸出来的行情,别被黑心服务商坑了。
首先是个人自签:就是自己买苹果官方的个人开发者账号,一年688块,最多绑定100台UDID,自己给自己的应用签名,除了年费没有额外费用,适合自己用或者用户极少的开发者。要是找别人帮你代绑自签,一般喊价几十块一台,真的没必要,不如自己花688买个账号,能用一年还安全。
然后是超级签名:按安装量算钱,目前正规渠道的价格大概是1-2块钱一个UDID安装,那种喊价三毛五毛一个的,全都是共享账号,别碰,我之前贪便宜拿过,三天就掉签,服务商直接失联。
接下来是企业签名,分两种,共享证书的企业签,一般几十块一个月,一百多就能包年,价格确实诱人,但是掉签掉到你怀疑人生,我之前用过80块一年的,半个月掉三次,补签还要加钱,真的折腾死。独证不共享的稳定企业签,目前行情是300-500一个月,按年付的话大概2000-2500一年,一分钱一分货,我现在用的这个大半年没掉过。
最后是TF签名,也就是TestFlight签名,正规渠道非违规应用大概200-300块一次,有效期90天,要是需要更多测试名额,再加100-200块,这个价格是正常的,那种喊价一千多包年的,纯属抢钱。
很多新手搞不懂设备签名原理,我用大白话讲,其实所有iOS签名,本质都是利用苹果开发者体系里,苹果给你颁发的合法证书,给你的IPA安装包做签名,让苹果系统识别这个应用是受信任的,允许你安装到手机上。
而UDID绑定,就是苹果对测试设备的限制,不管是个人开发者账号还是公司开发者账号,做Ad Hoc分发的时候,都只能绑定最多100台设备的UDID,只有绑定过的设备才能安装你签名后的应用。超级签名本质就是拼这个权限,用多个个人开发者账号,每个绑100个UDID,攒出来足够多的安装名额,就是这么回事。
这里还有个坑我必须提,很多黑心超级签名服务商,不会给你释放已绑定的UDID名额,就算用户已经卸载了你的应用,那个名额还是一直占着,你想要新增用户就得继续掏钱买名额,我之前踩过这个亏,一百个名额不到半个月就用完了,后来换了支持手动释放名额的渠道,才省了不少钱。还有自动获取UDID的接口,别用免费的,我之前用免费接口经常获取错UDID,绑定完用户还是装不上,白瞎了好几个名额,后来自己搭了个接口才解决问题。
说到证书分发机制,苹果官方其实分了好几种,我们常用的就是三种:第一种是Ad Hoc分发,对应我们说的超级签名、个人自签,必须绑定UDID,每个账号名额有限;第二种是In-House企业内部分发,也就是我们说的企业签名,这个是给企业开发内部应用用的,不需要绑定UDID,任何设备都能装,但是苹果规定不能用来对外分发公共应用,一旦被检测到,就会吊销证书,也就是我们说的掉签;第三种就是TestFlight测试分发,也就是TF签名,本质是苹果官方的测试渠道,你的应用放在苹果的服务器上,用户从官方的TestFlight app下载,本身就是苹果认可的,所以稳定性最高,只要你的应用不违规,根本不会掉签。
我这些年做签名,最头疼的就是掉签补签,真的搞怕了。去年我给一家工作室做了内部的排班工具,图便宜找了个共享企业签,80块包年,我想着也就几十个人用,无所谓,结果半个月之后苹果大规模吊销企业证书,直接把这个证书给封了,整个工作室几十台设备全用不了,老板大清早给我打电话炸锅,说当天的排班都出不来,影响生意。我赶紧找原来的服务商,已经跑路了,联系方式全拉黑,我没办法,连夜花五百块找了个稳定独证重新签,然后一个个给工作室的管理员发安装包,教他们卸载重装,折腾到凌晨三点,眼睛都睁不开了,从那之后我再也不敢碰低价共享签,说什么都没用,稳定才是刚需。
其实掉签之后也不是没办法,只要你找的服务商靠谱,一般稳定签都会承诺免费补签,24小时内能给你重新签好,就怕那种低价服务商,掉签之后要么补签要收费,要么直接跑路,你连人都找不到。我现在找的服务商,签之前就说好,掉签免费补,半天内就能搞定,虽然贵点,但是真的省心。
我现在大部分小应用,都是先做H5封装,再做IPA签名,这条路对独立开发者真的太友好了。H5写起来快,改需求也方便,不用每次更新都重新签名上架,用HBuilder就能把H5页面封装成IPA包,封装好之后就是未签名的IPA,接下来走签名流程就可以了,封装的时候只要记得把应用需要的权限,比如相机、存储、定位都开好,不然签名装完也用不了,我最开始封装的时候忘了开存储权限,用户保存不了文件,我又重新封装签名,折腾了一圈。IPA签名的时候,还要记得清理掉原来的旧签名信息,我最开始不懂,直接在原来的签名上重签,结果装的时候一直提示无法安装,折腾了好久才找到问题,清除旧签名之后再签,一次就成功了。
其实说来说去,只要能上AppStore上架,谁愿意折腾签名啊。我之前为了把我那个离线缓存的播放器送上AppStore,前前后后改了五个版本,还花了两千块找专业上架的团队包过,结果还是被拒了,说我这个应用涉及第三方内容解析,违反苹果的内容准则,没办法,只能放弃上架走签名。后来我把这个播放器做了TF签名,没想到审核一次就过了,TF的审核真的比AppStore松太多了,只要你不是恶意应用,一般都能过,而且是苹果官方渠道,用户安装之后根本不会弹出“不受信任的开发者”那个提示,体验好太多了,稳定也稳,我这个都跑三个多月了,从来没掉过,到期了重新上传一次就行,也不麻烦。
要说什么样的签名稳定好用,我给大家说说我总结出来的经验,用户量少于100,直接自己买个个人开发者账号自签,自己保管P12,自己绑UDID,只要你不违规,苹果根本不会封你,零掉签风险,成本就是一年688,真的不贵。用户量几百到几千,直接选TF签名,官方渠道,最稳定,价格也不高,三个月两百多,平均一个月才几十块,比企业签便宜还稳,用户体验也好。用户量上万,或者是企业内部应用,不想让用户走TestFlight,那就选不共享的独证企业签,虽然贵点,但是稳定,只要你的应用不是特别违规,大半年都不会掉,掉了也有服务商补,省不少心。千万不要碰那种几块钱几十块一年的共享签,真的掉签掉到你怀疑人生,折腾用户也折腾你自己。
我之前还动过买别人P12企业证书自己签的心思,一问价格几千块,差点就买了,后来老开发者提醒我,企业证书都是和申请的企业主体绑定的,你买过来,对方随时能吊销证书,而且苹果查出来你冒用企业证书,直接封你所有关联的开发者账号,得不偿失,真想要自己的企业证书,自己注册企业开发者账号就行,一年两千多苹果官方收费,稳得很。
现在我手里三个应用,一个给企业做的内部工具用稳定企业签,一个个人做的播放器用TF签名,还有一个自己用的小工具自己自签,各归各位,很少再遇到掉签的麻烦,每天安安稳稳更新维护,不用半夜爬起来给用户补签,日子舒服多了。其实做独立开发,就是这样,一步步踩坑,一步步总结经验,苹果的规则虽然严,但是只要找对了方法,就算不上AppStore,也能安安稳稳做自己的应用,服务好自己的用户。