iOS开发:如何更改我的应用程序以便它只影响新用户?

时间:2011-05-31 17:35:08

标签: iphone ios ipad

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

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

非常感谢你的智慧!

5 个答案:

答案 0 :(得分:3)

我会留下你应该这样做。其他的回答者已经说了我要说的。

技术上如何你要这样做是通过查找用户更新应用时持续存在的任何数据。所以,你设置的任何NSUserDefaults值,你写入应用程序沙箱的任何内容,钥匙串值......你以前提到过的任何提示,你自己设置了一个userDefaults标志,只显示旧的东西。否则,请为自己设置一个标志,仅显示新内容。

答案 1 :(得分:1)

如果您想要2种不同的应用行为,则可以向App Store提交新的不同应用。 Apple可能会或可能不会喜欢在审核期间无法找到的“隐藏”行为。

答案 2 :(得分:1)

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

如果您的更改分区很好,您可以使用标记(就像您在问题中所说的那样)来决定您运行的代码,我会添加一个设置useNewUI,默认为YES,除非您检测到应用程序已安装(有关此内容的详细信息,请进一步阅读)。然后,用户可以进入设置(您可能也会问他们)并决定随时更改。

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

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

答案 3 :(得分:1)

如果应用程序完全不同,请创建一个新应用。否则,任何更新的人都将获得新的。

一些现有用户可能想拥有新用户,有些可能想要旧用户。这让每个人都可以选择。

答案 4 :(得分:-1)

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

相关问题