还是每个应用程序制作者都需要对他们的应用程序进行更新以使其在 iOS 7 上运行。我认为不会,但我希望得到确认以及在 iOS 7 上运行时为早期版本的 iOS 构建的应用程序中存在的一些风险.
5 回答
每年都会出现这种情况。这并不特定于 iOS 7(或任何其他版本的 iOS)。
作为开发人员,您必须测试您现有的应用程序,以确保它们能够在即将发布的 iOS 版本下按原样运行。某些应用程序无需更改即可正常运行。许多应用程序都会遇到一些问题,从小的 UI 故障到频繁的崩溃。
您需要在测试设备上安装测试版 iOS 并从应用商店测试您的应用,然后查看您遇到的问题(如果有)。
如果您发现任何问题,则需要找到解决方案。在许多情况下,您无需更新到最新的 Base SDK 即可修复您的应用程序。但在某些情况下,您可能希望更新到最新版本并在修复任何问题时使用一些新功能。
您将需要测试:
- 在 iOS 6 上构建,在 iOS 7 上运行(可能可以工作,可能存在轻微的外观问题)
- 针对 iOS 6 进行编码,基于 iOS 7 构建,在 iOS 7 上运行(可能需要工作)
- 针对 iOS 7 进行编码,基于 iOS 7 构建,在 iOS 6 上运行(可能需要大量工作)
YMMV
除非您使用的某些功能/特性从以前的 iOS SDK 版本中 100% 被弃用,否则您应该没问题。如果它是新弃用的东西,Apple 会在您必须更新之前为您提供几个版本以使用旧方法。一般来说,您所有的 iOS 6 应用程序都应该在 iOS 7 中正常工作。iOS 7 中的许多美学都需要一些样式调整,例如无边框按钮和一些颜色样式。
你最好的选择是最终保持苹果生态系统的外观和感觉,并遵守苹果的 ios7 指南。
但是要回答您的问题,您的应用程序将运行,但可能会看起来过时。
(您可能需要一个 Apple ID/dev 帐户才能访问上面的链接)
根据我们的经验,您必须重新测试所有内容,并决定如何处理新的限制。例如 - 使用麦克风有一个新的隐私权限,在 iOS7 上运行的基于 iOS6 的应用程序中是无法处理的。另一个重要问题是在装有 iOS7 的旧设备(即 iPhone 4)上运行您的应用程序。我们在 iOS 7 中发生了很多事情,[application: didFinishLaunchingWithOptions:]
并且在 iOS 7 中我们开始出现崩溃,因为此代码运行时间要长得多,并且 iOS 会杀死运行此方法超过 10 秒的应用程序。因此,我们不得不修改我们的代码,即使它与任何特定的 SDK 更改无关。
无论如何,我知道这既困难又费时,但你永远无法判断新 iOS 会对你的应用程序产生什么影响,所以为了安全起见 - 你至少应该重新测试所有主要功能。如果可能在新操作系统上市之前,认真考虑完全迁移到 iOS7。
有根据的猜测是,为 iOS 5 及更高版本开发的应用程序将在 iOS 7 上运行,因为这是 Cocoa Touch 框架内部架构的一个主要转折点,尽管现在还为时过早。这取决于设备的架构(设备是否为 iOS 4/5/6/7 制造),以及您使用的每个特定版本有多少特定于操作系统的方法调用,以及对这些方法迁移的支持程度由苹果团队...