发现对早期iOS版本中不可用的方法的调用

时间:2012-02-01 21:25:31

标签: objective-c ios xcode cocoa-touch

我正在使用iOS 5.0作为基础SDK和iOS 3.0作为部署目标构建我的应用程序。

我知道当我使用早期iOS版本中没有的功能时,我需要检查方法和类的存在,但是最近我因为发现我正在调用方法而在问题上丢失了几个小时在某些iOS版本中不可用。我根本没有注意到它是一种新方法,在调用它之前没有检查过。该应用程序当然编译为0错误和0警告。

这是一个很大的问题,因为如果我在应用程序的某个地方忘记了其他检查,我将不会知道它,直到我或者最坏的情况,某些用户将激活该特定部分的代码。

也许我错过了什么,是否有一些编译器选项可以设置为检测我对iOS部署目标中不可用的方法的调用?你是如何处理这样一个问题的?

2 个答案:

答案 0 :(得分:1)

检查与先前版本iOS的兼容性的唯一方法,目前,它是在运行该版本操作系统的旧的未更新设备上测试应用程序。

如果您找不到旧的设备,即使只是短时间借用,那么将部署目标设置得很低可能没有很好的理由。

答案 1 :(得分:1)

此链接可能会指向正确的方向。 Supporting mutiple ios Versions in your apps。它解释了如何在保持向后兼容性的同时利用新的ios功能。希望有所帮助。