我自己平时喜欢捣鼓点小工具,做了个给身边朋友用的私人备忘记账小应用,不想大费周章折腾正规上架的一堆手续,就这么一路摸爬滚打试了几乎所有苹果签名的方式,大大小小的问题碰了不少,也算攒了不少实打实的感受。
最早接触签名是听做开发的朋友说企业签名安装方便,门槛低,我就找了个网上看起来报价很低的商家,第一次安装的时候完全摸瞎,下载好ipa包之后,点安装一直提示“未受信任的企业级开发者”,我按着商家给的好几年前的旧教程找,说在设置通用的描述文件里,找了半天根本找不到入口,那时候我的手机是新更的系统,早就把入口改到了通用下方的VPN与设备管理里,藏得特别深,我翻遍了隐私、屏幕使用时间所有选项,折腾了快十分钟才找对地方,找到对应的开发者证书之后,点一下信任,确认之后就能正常打开app了,这就是我第一次走信任证书流程的经历,现在想想对完全不懂的小白来说真的不友好,要是没人提醒真的会卡在这里半天。
当时贪便宜选的是共享企业签名,一个月才十几块钱,我想着反正就是小范围给朋友用,凑合用就行,结果没想到不到一周就出问题了,那天早上好几个朋友找我说app打开就闪退,完全进不去,我自己试了下也一样,后来问商家才知道是掉签了,证书被苹果给封了。 掉签之后我也跟着摸清楚了不同情况的解决办法,共享企业签名掉签,商家一般就是重新用别的共享证书签好,发新的安装包给你,所有用户都要删掉旧的重新装,那次我没提醒大家备份数据,好多朋友存了大半个月的记账和备忘都没了,搞得我特别不好意思,那时候才知道稳定才是最要紧的,贪便宜吃大亏。
后来商家跟我说,想要稳定点可以做独立企业签名,自己提供P12证书,一个证书只给我自己的app用,不会挤进来乱七八糟的其他应用,不容易触发苹果的检测。 那我就开始折腾P12证书,那时候真的是什么都不懂,按着网上的教程一步一步去苹果开发者中心创建appID,生成描述文件,最后导出P12的时候,系统提示要设置密码,我随便输了一个,结果导出完转身就忘了密码,商家导入的时候一直提示密码错误,我又得删掉重新创建描述文件,重新导出,折腾了整整一下午才弄出一个能用的P12,后来我才知道,导出P12的时候密码一定要记好,而且P12是自己开发者账号的核心文件,不能随便发给不靠谱的商家,免得被拿去乱用,连累自己的账号被封。 自己带P12做的独立企业签名用起来确实舒服多了,安装信任流程和共享签没区别,但是整整用了快八个月都没掉过签,只有一次我不小心新增测试的时候多传了几个安装包,触发了一次小检测,商家帮我重新更新了描述文件就好了,也不用用户重新安装,这点比共享签好太多。
后来朋友多了,陆续有几十个人要用,我又试着试了超级签名,超级签名是用个人开发者账号做的,要把每个安装设备的UDID录进去才能签,那时候我挨个让朋友们查自己的UDID,复制发给我,我再整理好发给商家,折腾了整整一天才弄完,还有个朋友粗心,复制UDID的时候少输了最后一位,结果安装的时候一直提示无法安装,又重新查重新录,来回折腾了好半天。 超级签名是按安装次数收费的,每个新设备安装就要扣一次次数,朋友换手机重新装也要扣,算下来用了三个月,成本比独立企业签还高,不过稳定度确实还可以,只要商家不拿黑号给你用,不超个人账号100台设备的限制,基本不会掉签,我那个超级签名用了三个多月,就是因为后来人数快到上限了,我才换了别的方式,整体感受就是小范围十几个人用的话还可以,人多了成本扛不住。
再后来我听人说TF签名稳定,就试着弄了TF签名,TF就是苹果官方的TestFlight内测渠道,我一开始还以为要和企业签名一样弄证书弄信任,结果完全不用,商家帮你把包上传到TestFlight,审核通过之后给你一个链接,用户点链接直接跳转到TestFlight,点下载就能用,连信任证书这一步都省了,对小白用户太友好了。 不过TF也不是完全没麻烦,第一次我上传的时候,因为我的app带了导出表格到本地相册的功能,被苹果拒了,说我有未声明的功能,我只好把导出功能暂时藏起来,重新提审才过,TF的有效期是三个月,到期之后只要重新上传一个新包就行,更新一下也不麻烦。 TF真的是我用过最稳定的签名方式了,毕竟是苹果官方的渠道,基本不会掉签,我那个TF版本放了快一年,除了到期更新过两次,从来没出过闪退打不开的问题,流畅度和上架AppStore的应用没任何区别。
我本来这个小工具最早就是网页写的,后来也试过H5封装,最早找的商家给我封装就是简单套个壳,所有资源都存在线上,断网就打不开,我这个备忘工具本来就是需要没网的时候也能看内容,完全没用,后来找了个懂行的商家做了带H5封装离线功能的版本,把所有网页资源和本地存储结构都打包进了ipa安装包里面,还做了本地缓存,现在哪怕我开飞行模式,打开app照样能看所有存过的备忘和记账内容,体验和原生app差不了多少,开发成本比做原生低太多了,对我这种个人做小工具的来说真的太合适了。 不过H5封装好的ipa也一样需要签名才能安装,我最早把封装好的包用共享企业签签了,结果不到十天掉签,整个app打不开,用户存在本地的离线内容也读不出来,后来我就把带离线功能的H5封装包放到TF上签名,用到现在都没出过问题,断网用离线功能也一直很顺畅。
我后来也试着把这个小工具改了改,申请上架AppStore,上架的过程真的太折磨人了,光审核就改了三次,一会儿说我隐私政策写得不规范,一会儿说我功能重复不符合上架要求,一会儿又要我提供各种资质,折腾了快一个月才好不容易过审,上架之后确实最稳定,用户直接搜就能下载,不用弄任何签名,也不会掉签,但是门槛真的太高了,每年要交年费,而且稍微有点功能不符合苹果的规则就会被拒,我后来更新了一个小功能,重新提审又被拒了,索性就把上架的版本放着,给不认识的网友用,完整版还是放在TF用签名给身边朋友用。
用了这么多不同的签名渠道,我也摸出来了一些让签名稳定流畅的办法,首先就是一定不要贪便宜选那种几块钱一个月的共享企业签名,那种签名一个证书签几百上千个app,什么违规的都有,苹果一检测整个证书就被封,掉签是家常便饭,想要用企业签就做自己带P12的独立签名,控制安装量,一个证书不要装太多,只签自己的正规app,基本能用大半年都不掉。 然后如果是几百人以内小范围用,优先选TF签名,官方渠道根本不会掉签,安装也方便,不用折腾信任证书,只要能过审核,体验比任何非官方签名都好。 要是只有十几个人用,选靠谱商家的超级签名也可以,一定要确认商家给你用的是正规个人账号,不是那种黑号,不要超设备数量限制,也能稳定用很久。 H5封装一定要做带离线功能的,不要做那种只是套壳跳转网页的,不然断网根本用不了,封装好之后尽量签TF或者正规独立企业签,不要用共享签,避免掉签丢了用户的离线数据。
我这一路也碰了好多莫名其妙的小问题,比如之前用超级签名,找了个特别便宜的商家,结果用了一个多月突然掉签,后来才知道那个商家把同一个个人账号卖给了好几个用户,大家都往里面加设备,早就超了苹果的100台限制,账号直接被封了,钱也打了水漂,商家也联系不上了。 还有一次企业签名,弄完之后有几个用旧系统苹果手机的朋友一直安装不了,后来才知道我选的证书只支持新系统,没开旧系统兼容,重新签了一次才好。 这些小问题看起来不大,但是真的折腾人,所以找靠谱的渠道比什么都重要,与其贪便宜选便宜的,多花点钱找靠谱的,能少掉很多麻烦,省下来的时间精力都值回来。
到现在我用带离线功能的H5封装包签TF已经快一年了,身边几十个朋友用着都没出过什么大问题,偶尔更新功能重新提一下TF审核,过了之后用户更一下就好,稳定又流畅,完全满足我这种个人做小工具小范围使用的需求,对不想折腾上架的人来说,真的是目前我试过的最好的组合了。