历史文章列表:1、《壹句》正式上线
2、 Apple App Store发布流程以及所遇到的一些坑
前言:
2016.10.17-2017.01.12,在辞掉工作,然后再去台湾骑行一周后的3个月内,个人开发产品《壹句》在Apple Store正式上线,本专题记录《壹句》开发的历程,中间所遇到的问题以及解决方法、心得等等,对过去三个月的时间进行一个总结。
简单介绍下我自己,理工男,硕士,坐标上海,做了两年半的金融,觉得每天重复的工作,没有成就感,又想自己做点啥,怕以后会有遗憾,遂离职,开始了《壹句》的开发,之前没有开发经验,有自学过Swift。
正文:
App上线发布前,我做了几项为了以后更好的扩展必做的事情,其中一项就是添加版本控制。
为什么要做版本控制呢?
什么是版本控制呢?
试想一下,当你的App更新时,必然会添加、修改或删除一些接口,对于这些需变动的接口,是直接在原来的接口上进行修改吗?如果直接修改了,那么对于还在使用老版App的用户,就会出现无法正常使用的情况,我们无法保证用户都在使用您最新版本的App,特别是Apple目前不允许我们按钮提醒用户进更新的情况下,所以,为了更好的用户体验,为了保证当前版本之前的至少3个版本的同时正常使用,版本控制就显得非常重要了。
《壹句》在设计的时候,考虑的比较长远,我根据阅读资料的经验,将版本更新分成两类,第一类为大版本更新,这个主要是伤筋动骨,焕然一新,大功能类的修改;第二类是小版本更新,这个主要是修改点小bug,添加点小功能,细枝末节的修改。
大版本更新的版本控制,在request header中来进行体现;小版本更新的控制,在URL上直接体现。
为了实现这两种方式结合的版本更新,需要前端后端的深度配合,下面进行详细讲述。
对于大版本更新,是加入header中的,在后端则采用JWT-Auth的版本控制功能,如下图所示:
通过修改version为V2、V3来直接控制住访问这个api下所有Router的大版本。
对于小版本更新,则在路由加Prefix的方式,在大版本控制下的路由中再去根据Prefix进行小版本的细化。
如下图所示:
在V1大版本下,修改prefix为v1.0 v1.1来控制小版本的接口。
总结下来,当需大改的时候,修改需要的Version;小版本更新时,修改允许的prefix。
访问示例就如下所示:
接口的URL和Headers中都含有对应的版本号,这样才能进行正常的访问。
以上就是我的《壹句》所使用的全部第三方库。
最后,打个我的《壹句》App的广告:
壹句的Itunes地址为:https://itunes.apple.com/us/app/yi-ju/id1189535187?l=zh&ls=1&mt=8,有兴趣的同学可以下载使用,多提意见。
壹句网站的地址为:www.91yiju.com。