我们的 iPhone 应用程序在 iOS 6 上运行良好,但某些功能在 iOS 7 测试版上无法运行。我担心我们将无法在 iOS 7 发布之前完成我们的 iOS 7 兼容性,我们的客户将升级到 iOS 7 并且应用程序将无法使用......导致负面评论等......
有人对如何最好地处理这个问题有任何建议吗?有没有办法设置应用程序支持的最大 SDK?
尝试 UIDevice 的 systemVersion。
格式为 6.1.3 或 7.0.1
用 '.' 分割它们 获取主要版本
如果您在 iOS N+1 上运行针对 iOS N SDK 构建的二进制文件,则该设备会替换 iOS N 的行为。假设您设置了 iOS 7 设备进行测试,请尝试从 App Store 下载任何内容 — 您应该会看到渐变当设置为和其他所有内容时,宽UISwitch
es 和视图控制器会正常工作。wantsFullScreen
NO
所以你不需要处理任何事情。它在设备上自动处理。
我认为如果你这样做,无论如何你都会得到差评,但如果你不能及时修改,它可能是你唯一的选择。
您需要查看此 SO 答案并使用带有宏的条件
if(SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(@"6.1.3")) {
// work normally
} else {
// fail gracefully
}
禁用发布该版本号后损坏的应用程序的任何部分。
我认为没有一种方法可以限制安装和尝试使用您的应用程序的更高版本的用户,因为用户的版本早于您需要的版本。原因可能是虽然可以使用新功能并锁定旧设备,但通常不能无限期地不支持新设备。
任何地方都没有最高 iOS 版本设置,但它不应该是必需的。
如果您使用 Xcode 4.6 / iOS 6 SDK 构建应用程序,然后在安装了 iOS 7 的设备上运行它,它可以正常工作吗?如果是这样,这就是您应该首先发布的内容(或留在应用商店中)。如果没有,您只需要修复出现的问题并发布使用 Xcode 4.6 进行的更新。只需解决这些问题,不要尝试重新设计和重做 iOS7 的所有内容。大多数使用 Xcode 4.6 构建的应用程序不需要修复即可在 iOS 7 上运行。
当您使用 Xcode 5 / iOS 7 SDK 构建时,您会想要完全使用和支持 iOS 7。但是在我们获得 gm Xcode/SDK 之前,您不能发布该构建。如果你还没有准备好,你不必马上走这条路。