用os版本查找不支持的apis

我已经开发和应用iPhone。 它在os4上正常工作,但在os3.1上不起作用。 其实有效,但也有一些问题; 在启动屏幕后出现一个屏幕。 当我离开应用程序时,我可以看到应用程序已成功打开,但只是在退出时看到。

所以我想知道是否有一个工具,说哪个apis有os3.1的问题? 所以我有机会取代它们。

如果你想检查一个特定的API,只需在你的代码中用适当的响应来运行它。 例如,要查看是否支持打印,请运行此…

if (NSClassFromString(@"UIPrintInfo")) { } 

将你的项目的基础SDK设置为iphone-os-3-1,然后构build。 所有关于不存在的类,方法和函数的错误消息必须指定自iphone-os-3-1以来添加的东西,因为你的项目build立并与iphone-os-4-0 SDK很好的链接。

如果您没有iphone-os-3-1 SDK,请改为:

  • 打开您的项目的生成设置。
  • find“预处理器macros”设置。
  • 编辑它并添加__IPHONE_OS_VERSION_MAX_ALLOWED=30100

现在,尝试build设。 这应该会导致在iOS 3.1之后引入的所有内容都被标记为不可用,从而产生与切换到iphone-os-3-1 SDK相同的错误。

在这种情况下,第二次安装Xcode是一个好主意,在这种情况下,您需要使用SDK 3.1.3的3.2.1版本 – 我希望我可以帮助您下​​载链接,因为它不再显示在Apple的页面上,但我已经search了过去,发现直接,正式的下载链接,只要你与你的开发者帐户login,将运作,所以祝你好运。

烦人的是,你需要通过你的项目文件,并将“基础SDK”设置为3.1.3,然后一旦完成练习就回来。 但是这是标记3.1.3中不能做的最简单的方法。 “sudo rm -rf”(即使打字也感到紧张)在这里有一个很好的方法,但是你需要知道什么可能是安全的,什么可能不是你实现它之前,否则你最终的代码10倍的大小需要是。

苹果真的需要解决这个问题 – 希望通过标记在你指定的“部署目标”之前的方法,就像不赞成使用的方法被标记一样。