gpt4 book ai didi

ios - 旧版本的 iOS Simulator 是否与 iOS SDK 相同?

转载 作者:行者123 更新时间:2023-12-01 18:57:03 25 4
gpt4 key购买 nike

像许多人一样,我需要使用旧版本的 iOS SDK 构建应用程序。

当我通过 XCode 首选项下载旧版本的 iOS 模拟器时,这是否与下载旧版本的 SDK 相同?

例如,如果我今天下载 XCode 6(iOS 8 刚刚发布),我将获得 iOS 8 SDK 和模拟器。如果我需要为 iOS 7 编译应用程序并使用 XCode 首选项中的下载功能来获取 iOS 7.0 模拟器,这是否与 iOS 7.0 SDK 一起提供?

在我看来,iOS 7.0 Simulator 是一个应用程序。 iOS 7 SDK 是否附带它,以便您可以构建您的应用程序以兼容 iOS 7?

最佳答案

我想我明白你在问什么,因为答案是否定的:iOS 模拟器以它们模拟的硬件和它们运行的​​ iOS 版本命名;例如 iPhone 5s (7.1) .

Xcode 6 仅附带 iOS 8 SDK。这就是“基础 SDK”(SDKROOT)。您可以将其视为“最佳编译目标”或“最佳支持版本”——它是您编译时所针对的 SDK 版本。 “部署目标” (IPHONEOS_DEPLOYMENT_TARGET) 定义了您支持的最低支持 iOS 版本。随着您的应用程序的成熟,以及两者之间的范围扩大,您需要对支持的功能进行越来越多的运行时检测,或处理 API 差异,例如,在较新的平台上首选较新的调用,而在较旧的平台上则不存在。

针对 (Base SDK) 7.1 编译的应用程序将在 iOS 8.0 设备上运行。您可以将其视为“iOS 7 模式”。一个更好的例子是从 iOS6 到 7 的迁移——针对 iOS6.1“Base SDK”编译的应用程序在 iOS7 设备上运行,但它们看起来像旧的 UI 样式。当它们针对 iOS7.x“Base SDK”编译时,它们看起来适合 iOS6 或 7。

我目前有一个应用程序作为“Base SDK”7.1 支持,我设法复制了旧的 7.1 SDK 并针对它进行编译。老实说,这比它的值(value)更麻烦,恕我直言。如果您仍然有 Xcode 5,并且目前只需要最高 7.1,您可能只想使用它。鉴于 iOS 8.0 已经发布,并且如果您的应用程序是新的,您可能根本不需要担心这一点——您可能只想确保您支持 iOS 7.x,这是 AOK。

给定一个应用程序(例如)具有 7.0 的部署目标和 8.0 的基本 sdk,任何兼容性问题都由您来处理。某些方法的行为可能不同(尽管 Apple 努力保持 API 兼容性),而其他方法将被弃用或只是不同。文档在说明差异和弃用方面做得很好。

关于ios - 旧版本的 iOS Simulator 是否与 iOS SDK 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com