2

我正在 iOS 5.0 中开发我的应用程序,但我也想将其转换为 iOS 4.3.3。

我的问题是,当我在 iPhone 3GS(iOS 4.3.3)中安装我的应用程序时,我没有收到编译器警告或错误。但是,当调用 iOS 5.0 及更高版本支持的功能时,应用程序会崩溃。目前我正在通过检查这样的条件来管理它: -

if ([[[UIDevice currentDevice] systemVersion] floatValue]>4.4)
 {
     //Call iOS 5.0 and later function.
     //For example.
     [myTabBar setTintColor:maroonColor];
 }
 else
 {
     //Otherwise not do anything.
 }

有没有办法轻松地将 iOS 5.0 应用程序转换为 iOS 4.3.3。或与最大部署目标相关的任何设置。所以我可以将它设置为 4.3.3 并立即获取所有错误 iOS 5.0 支持的功能。

4

2 回答 2

5

您可能想查看DeployMate,它应该列出所有可能的不兼容性。我会使用if ([myTabBar respondsToSelector:@selector(setTintColor)])而不是你的代码。

于 2013-04-06T14:04:29.963 回答
2

苹果指南:https ://developer.apple.com/library/mac/#documentation/developertools/conceptual/cross_development/Configuring/configuring.html

“选择一个基础 SDK。您的软件可以使用操作系统版本中可用的功能,包括与基础 SDK 对应的版本。默认情况下,Xcode 将其设置为 Xcode 支持的最新操作系统。”

...所以:将您的基础 SDK 设置为 iOS 4.3.3(要求您安装 4.3.3),然后尝试构建。

编辑:如果您还没有 SDK 4.3.3 的副本,您可以通过 Apple 的 hidden 获得它(他们不会从 iOS 开发中心链接它:()下载页面:https ://developer.apple .com/downloads/index.action?name=ios

于 2013-04-06T14:04:59.930 回答