Ios 使用os版本查找不受支持的API

Ios 使用os版本查找不受支持的API,ios,Ios,我已经为iPhone开发了一个应用程序。它在os4上运行良好,但在os3.1上不起作用。事实上是可行的,但也存在一些问题;启动屏幕后会出现一个什么屏幕。当我离开应用程序时,我可以看到应用程序已成功打开,但在退出时只能看到 所以我想知道是否有一个工具可以说明哪些API与os3.1有问题?所以我有机会替换它们。将项目的基本SDK设置为iphone-os-3-1,然后构建。所有关于不存在的类、方法和函数的错误消息都必须指定自iphone-os-3-1以来添加的内容,因为您的项目是根据iphone-os

我已经为iPhone开发了一个应用程序。它在os4上运行良好,但在os3.1上不起作用。事实上是可行的,但也存在一些问题;启动屏幕后会出现一个什么屏幕。当我离开应用程序时,我可以看到应用程序已成功打开,但在退出时只能看到


所以我想知道是否有一个工具可以说明哪些API与os3.1有问题?所以我有机会替换它们。

将项目的基本SDK设置为iphone-os-3-1,然后构建。所有关于不存在的类、方法和函数的错误消息都必须指定自iphone-os-3-1以来添加的内容,因为您的项目是根据iphone-os-4-0 SDK构建和链接的

如果您没有iphone-os-3-1 SDK,请尝试以下方法:

  • 打开项目的生成设置
  • 查找“预处理器宏”设置
  • 编辑它并添加
    \uuuIphone\uOS\uVersion\uMax\uAllowed=30100

现在,试试建筑。这将导致在iOS 3.1之后引入的所有内容都被标记为不可用,产生与切换到iphone-os-3-1 SDK时相同的错误。

如果要检查特定的API,只需在代码中的某个地方运行此程序,并给出相应的响应。例如,要查看是否支持打印,请运行此

if (NSClassFromString(@"UIPrintInfo")) {

}

在这种情况下,第二次安装Xcode是一个好主意,在这种情况下,你需要3.2.1和SDK 3.1.3-我希望我能帮助你下载链接,因为它不再显示在苹果的页面上,但我以前在谷歌搜索过,找到了direct,官方下载链接将工作,只要你与你的开发者帐户登录,所以祝你好运

令人恼火的是,您需要浏览项目文件,将“基本SDK”设置为3.1.3,然后在完成练习后返回。但这是标记3.1.3中不能执行的操作的最简单方法。“sudorm-rf”(我甚至感到紧张)有一个很好的方法,但是在实现它之前,你需要知道什么是安全的,什么是不安全的,否则你最终会得到10倍于它需要的代码大小


苹果真的需要解决这个问题——希望通过标记指定“部署目标”之前的方法来解决,就像标记不推荐的方法一样。

但是只有4.0和3.2。作为基本sdk。它给出了8个错误,但对我来说没有意义/UIView.h:250:error:expected')在'uiviewmanimationoptions'/UIDevice.h:76:error:expected说明符限定符列表在'UIUserInterfaceIdiom'/UIApplication.h:187:error:expected说明符限定符列表在'UIApplicationState'/UIApplication.h:190:error:expected')在“UIBackgroundTaskIdentifier”之前,文档显示所有这些东西都是在3.1.3之后引入的。如果你必须支持3.1.3,那么你必须解决它们。从关注你能理解的开始。低垂的果实是在“before”–
UIViewAnimationOptions
UIUserInterfaceIdiom
UIApplicationState
UIBackgroundTaskIdentifier
之后的名称。如果您查找这些名称,很可能会发现这些名称是在3.1 SDK之后引入的。