更新iOS 8的应用程序

时间:2014-06-27 17:03:05

标签: ios ios8

我有一个应用程序,其最低版本已设置为iOS 7.0。此应用程序还使用NSUserDefaults字典。此应用程序广泛使用UIAlertViewUIActionSheet(不确定Apple未披露的内容)。现在,在iOS 8.0中,这两个视图已被弃用,并已被控制器UIAlertController取代。现在,有两种方法可以帮助我更新iOS 8的应用程序。

  • 将最低版本升级到iOS 8.0以进行更新。这样,运行iOS 7.0的用户就无法看到更新。但是,它会导致以下情况: -
  

然而,有一个有问题的案例,而且来自升级   在iTunes或具有更高版本的设备上执行   然后同步到iTunes的号码。当用户同步旧版本时   使用iTunes的设备,iTunes实际上会删除该应用程序   该设备,因为它无法运行当前的新版本   iTunes中。我有几个原创iPod touch的用户报告此事   当我将我的一个应用程序升级到仅支持4.0时。

上述评论出现在以下网址的接受答案中: -

Raising minimum iOS Deployment Target Version for App Update

由于应用程序正在使用NSUserDefaults字典,因此删除应用程序时将删除字典中的相关条目。

  • 另一个选项是我在代码中检测正在使用的版本,并使用if-else语句相应地编码。这将使我能够将iOS 7.0保持为最低版本,而可能也可以帮助我部署iOS 8.0更新。然而,这看起来似乎很多可能导致错误的工作。

所以,我想知道上述两种方式之间哪个选项更好? (由于某些限制,此应用程序目前仅使用Objective-C。)

1 个答案:

答案 0 :(得分:3)

从用户的角度来看,最好的办法可能是使用UIAlertViewUIActionSheet进行编码,即使他们已被弃用。保持你的iOS 7目标与它一样。由于您使用旧版本作为基本目标,Xcode不应该向您发出警告。您不需要更改有关代码的任何内容,它仍然可以正常运行。

一旦您准备好切换(可能是在iOS 9推出时),我会将您的基本目标切换到iOS 8并更新您的代码,以便在任何地方使用UIAlertController。对我来说,花时间尝试支持两个不同的版本是没有意义的,如果它只是一个API弃用,仍然允许你的代码工作多年来你的编写方式。节省资源和能源,以便稍后更新。

但它真的取决于你以及你想支持多少iOS 7.我认为在下一个版本发布之前放弃支持是没有意义的。我总是尝试支持当前版本和最后版本,因此没有烦恼的客户,但这取决于您自己的需求。

如果您已集成了分析功能,请在向公众发布后检查iOS 8采用率。如果没有,这是一个很好的机会,可以添加它来了解客户的最新情况!