Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shouldShowNewFeature里的版本判断是不是有问题 #2

Open
wonderffee opened this issue Jul 28, 2015 · 4 comments
Open

shouldShowNewFeature里的版本判断是不是有问题 #2

wonderffee opened this issue Jul 28, 2015 · 4 comments
Labels

Comments

@wonderffee
Copy link

这个方法里是分别获取沙盒中版本号和当前的版本号,如果版本号相同,则返回NO表示不显示引导界面;如果不同,则显示引导界面
这难道不就意味着:只要每次升级版本,都会显示这个引导页面——我觉得应该没有这个必要,更可取的是:只有重大版本升级时,才显示引导页面

@iTofu
Copy link
Owner

iTofu commented Jul 29, 2015

新特性界面嘛,一般来说每次升级完之后给用户看的。
每次升级都需要重新打包,所以项目的新特性图片也可以随时更换,这样代码就不用修改。
当然如果某次升级后不想显示新特性界面,shouldShowNewFeature这个方法直接返回个NO就ok,或者直接不导入LCNewFeature.h、不调用LCNewFeature中的方法即可啦。

@iTofu iTofu added the question label Sep 14, 2015
@iTofu iTofu added Q&A and removed question labels Apr 22, 2016
@orchidFang
Copy link

应该对引导页面的内容建立一个单独的引导页面版本的概念。假如这一版本的引导页面用户已经看过了(把这个版本号存在沙盒中),就不显示。否则在沙盒中找不到该版本的引导页面,则显示。

@iTofu
Copy link
Owner

iTofu commented Mar 9, 2017

当前版本升级是否需要显示新特性界面的情况如下:

  1. 需要显示:在写新版本代码时,调用框架使新特性界面显示,打包上架。
  2. 不需要显示:在写新版本代码时,不调用或注释相关代码或用宏控制框架,使新特性界面不显示,打包上架。
  3. 重大版本升级时显示/根据某些情况智能决定是否显示:首先,欢迎 PR 智能判断规则…… 其次,每个项目需求不尽相同,该种情况的需求完全可以根据上述 1. 2. 交由代码来控制。TL, DR 另外,“重大版本升级时”这个概念框架很难判断,你可以说根据如 V 1.2.3 -> V 2.0.0 的升级认为是大版本,但是这真的是“重大版本”的定义吗?那认为 V 1.2.3 -> 1.3.0 是重大升级的项目怎么办?认为 V 1.2.3 -> 1.2.4 是重大升级但是 CTO 不让改前两位版本号的项目怎么办?而诸如(Android KitKat -> Android Lollipop -> Android Marshmallow)之类的奇怪但很有趣的版本定义又该怎么办?这个智能判断规则能写出来吗?不能,因为“重大版本”本身就是感性认识,而不是理性规则。

@iTofu
Copy link
Owner

iTofu commented Mar 9, 2017

@orchidFang
你说的需求是框架开始写就有的,新特性在当前版本当然只显示一次,框架貌似没有不这么干?
https://github.com/iTofu/LCNewFeature/blob/master/LCNewFeature/LCNewFeatureVC.h#L153
https://github.com/iTofu/LCNewFeature#代码-code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants