4

我刚刚将我的 XCode 升级到 4.5 并安装了 SDK 6.0。我发现 SDK 5.0 消失了,但我仍然可以下载回 Iphone 5.0 模拟器。

我只是想知道天气我可以使用 SDK 6.0 为 iOS 5.1 开发应用程序。我做了如下图所示的配置。

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

10

是的,任何 iOS SDK 都允许您为以前版本的操作系统进行开发。例如,即使使用 iOS6 SDK,您也可以针对 iOS5 进行开发。

您只需将“部署目标”设置为 5.1。

然后您可以:

  • 要么只使用 iOS5.1 中可用的方法,不要使用任何 iOS6-only 方法来确保您的应用程序仍将在 iOS5.1 中运行
  • 或者每次您想调用仅在 iOS6 中可用的方法时在运行时执行检查,并且仅在该方法可用时才调用此方法(如果用户的 iPhone 具有支持此方法的最新版本的 iOS)。

有关配置和示例案例的更多信息和详细说明,我强烈建议阅读Apple 文档中SDK 兼容性指南


例如,如果你想提供一个在社交网络上分享内容的按钮,你可能想使用 Social.framework,但这个只在 iOS6 上可用。因此,您可以为 iOS6 用户建议此功能,并提醒 iOS5 用户他们需要将 iPhone 更新到 iOS6 才能使用此特定功能:

// Always test the availability of a class/method/... to use
// instead of comparing the system version or whatever other method, see doc
if ([SLComposeViewController class])
{
    // Only true if the class exists, so the framework is available we can use the class
    SLComposeViewController* composer = [composeViewControllerForServiceType:SLServiceTypeFacebook];
    // ... then present the composer, etc and handle everything to manage this   
} else {
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Sharing unavailable"
                message:@"You need to upgrade to iOS6 to be able to use this feature!"
                delegate:nil
                cancelButtonTitle:nil
                otherButtonTitles:@"OK, will do!"];
    [alert show];
    [alert release];
}

然后只需弱链接 Social.framework(将框架添加到链接器构建阶段时将“必需”更改为“可选”),如文档中详细说明的那样。

于 2012-10-02T22:48:09.623 回答
1

是的,您仍然可以使用 iOS 6 SDK 创建与 iOS 5 兼容的应用程序。您必须相应地设置部署目标(正如您所做的那样)并且不使用任何 iOS 6 功能。

于 2012-10-02T22:40:30.567 回答