繁体   English   中英

iOS 开发:如何对我的应用程序进行更改以使其仅影响新用户?

[英]iOS Development: How can I make changes to my app so that it only affects new users?

我想对我的 iOS 应用程序进行一些重大更改,但我不希望这些更改影响现有安装,因为它可能会导致现有用户抱怨。 如何将新功能仅限于新安装?

一种简单的方法是在代码中的某个点设置一个全局标志,该标志仅在用户完成教程之前出现,然后如果设置了该标志,则使用新代码。 其他更优雅的解决方案?

非常感谢你的智慧!

我会搁置你是否应该这样做。 其他回答者已经说了我要说的话。

从技术上讲,您如何做到这一点是通过查找用户更新应用程序时持续存在的任何数据。 因此,您设置的任何 NSUserDefaults 值、您写入应用程序沙箱的任何内容、钥匙串值......您之前来过这里的任何提示,并且您为自己设置了一个 userDefaults 标志以仅显示旧内容。 否则,给自己设置一个标志,只显示新东西。

如果您想要 2 种不同的应用行为,您只需向应用商店提交一个新的不同应用即可。 Apple 可能喜欢也可能不喜欢他们在审查期间找不到的“隐藏”行为。

我能想到的最优雅的解决方案是让用户选择。

如果您的更改界限分明,以至于您可以使用标志(就像您在问题中所说的那样)来决定您运行的代码,我会添加一个设置useNewUI ,默认情况下为 YES ,除非您检测到该应用程序已安装(进一步阅读有关此的更多详细信息)。 然后用户可以 go 到设置(您也可以问他们)并决定并随时更改。

您可以通过检查存储在NSUserDefaults中的任何数据来决定您的用户是新用户还是旧用户。 在程序开始时,您检查是否存在数据,然后将useNewUI添加到 NSUserDefault 中,值为 NO,否则添加值为 YES。

即使您忽略让用户通过设置进行选择的可能性,这种基于 NSUserDefault 的方法也可能对您有用。

如果应用程序完全不同,则制作一个新应用程序。 否则,任何更新的人都会得到新的。

一些现有用户可能想要新的,有些可能想要旧的。 这给了每个人选择的余地。

你不能。 提交更新后,您的所有用户都可以下载并拥有新功能。 如果更新会惹恼您的现有客户,它也可能会惹恼您的新用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM