【发布时间】:2012-11-16 16:42:32
【问题描述】:
我正在装有 iOS 5.1 的 iPhone 4 和装有 iOS 6.0 的 iPad 4 上测试一个应用程序。我环顾四周,令人惊讶地没有发现类似的问题:
1- 我的应用程序有一些在 iOS 6.0 中已被弃用的方法,所以我相信我必须构建一些 if/then 条件来测试系统版本,使用:[[UIDevice currentDevice] systemVersion],然后使用适当的版本方法。这是最有效的方法吗?
2- 我的理解是,只有一个目标,“项目”部署目标和“目标”部署目标具有相同的目的。而且我需要将其中之一或两者都作为 iOS 5.1,因为这是支持的最低 iOS。令人困惑的是,如果目标是基于 iOS 5.1 构建的,它如何在 iOS 6.0 的 iPad4 上运行:
iPad OS 是在运行前检查目标版本还是只是尝试运行代码,而 iOS 5.1 目标没有任何与 6.0 不兼容的代码?
即使是这样,5.1 目标如何支持我为有条件地替换已弃用方法而构建的 6.0 方法?
非常感谢!
【问题讨论】:
标签: ios compiler-construction build target deprecated