【发布时间】:2015-08-21 11:56:57
【问题描述】:
我需要支持以下业务场景来管理更新:
App xxx.app(Version 6.1)在AppStore,支持iOS 3到6.3。
我们开发了一个新版本 xxx.app(Version 6.2),支持 iOS 7 及以上。
是否可以为 iOS 3 到 6.3 的用户分发更新,并为 iOS 7 及更高版本的用户分发另一个更新。 (即一个应用程序的两个版本)
【问题讨论】:
我需要支持以下业务场景来管理更新:
App xxx.app(Version 6.1)在AppStore,支持iOS 3到6.3。
我们开发了一个新版本 xxx.app(Version 6.2),支持 iOS 7 及以上。
是否可以为 iOS 3 到 6.3 的用户分发更新,并为 iOS 7 及更高版本的用户分发另一个更新。 (即一个应用程序的两个版本)
【问题讨论】:
我相信这是不可能的。这就是为什么。
如果它们是同一个应用程序,则无法执行此操作。如果它们具有相同的捆绑 ID,则它们是相同的应用程序。所以一个解决方案是让这个新版本成为一个不同的应用程序。 但这并不能解释您将如何更新旧版本。我怀疑 Apple 是否会让你今天提交一个不在 iOS 8 上运行的更新,或者不是用最新版本的 Xcode 编写的。因此,您永远不会将旧版本的更新带到 App Store。
也许更好的方法是一个应用程序在所有系统上运行,并根据它是什么系统使用条件代码。但这将很难写。当前版本的 Xcode 无法为这样的早期系统编译。
【讨论】:
不再支持任何低于 6 的 iOS 版本(Xcode 中的“部署目标”下也未列出)。
仅仅为了不同的 iOS 版本而将应用程序的两个发行版分开太冗长了。
改为使用条件宏并处理每种情况,请参阅:How to check iOS version?
【讨论】: