获取Xcode 4.5.2的10.6基础SDK

9

如何在Xcode 4.5.2中获得和使用10.6作为基本SDK?

我从苹果开发者网站下载了Mac应用商店的Xcode 4.5.2。

是否有一种方式可以单独下载10.6 SDK并开始将其用作基本SDK?

奇怪的是,我可以通过Xcode首选项窗口下载10.6 SDK的文档,但无法下载SDK本身。任何想法?

2个回答

8
抱歉,您无法单独下载10.6 SDK。
您为什么不能使用10.8或10.7 SDK?
请注意,仅因为您构建了10.8 SDK,这并不意味着您不能在10.8、10.7和10.6上运行该构建应用程序。(这通常会导致新开发人员困惑)。通过如下图所示的“部署目标”设置,您可以控制向后兼容性。
默认情况下,部署目标通常设置为与SDK相同版本的OS X,但将其更改为10.6等版本应该可以让其在运行OS X 10.6的计算机上运行。(当然,您应该真正测试以确保这一点)。

可能有一些真正需要10.6 SDK的原因,尽管这可能不适用于原帖作者,例如,如果您有使用QuickDraw的旧代码。 - JWWalker
@JWWalker:是的,我知道那个,但我很确定所有基于Carbon-UI的东西都被10.6 SDK移除了。换句话说,你需要10.5 SDK才行。 - NSGod
不,事实上,我现在正在使用10.6 SDK来构建一些带有旧QuickDraw位的代码。哦,不要把所有Carbon UI都混在一起;新的HIView东西可能仍然在10.8 SDK中,尽管不适用于64位二进制文件。 - JWWalker
是的,哈哈,你说得对。老实说,我正在图像中工作的那个项目,我实际上必须使用Xcode 3.2.6编译以实现10.5兼容性(Xcode 4.x和clang在64位模式下生成不兼容的可执行文件)。我实际上记错了有关删除的事情。所有的头文件和其他东西都在10.6及更高版本中存在,只是Xcode 4.x没有Carbon UI的文档或模板。 - NSGod
1
这可能有效。但是,是否有任何方法可以让Xcode在我使用>= 10.7 API时以某种方式警告我,即使我的部署目标是10.6?或者我的唯一选择是手动检查我使用的每个API是否确实支持10.6,并在10.6上仔细测试应用程序的每个功能?当然,第二个选项会相当繁琐... - NoobOverflow
2
虽然您的应用程序在10.6上仍然可以使用,但如果链接到10.8 SDK,则存在很大的风险。如果您使用了10.6中不可用的Objective-C方法,则在Snow Leopard上运行应用程序时会出现异常。如果您链接到10.8 SDK,则即使将最低部署目标设置为10.6 Snow Leopard,如果调用的方法在10.6中不可用,也不会收到警告。 - Stefan Schmidt

3

下载带有 MacOSX10.6.sdk 的 Xcode。现在复制 MacOSX10.6.sdk 到 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs 目录下。

这也可以在Xcode 5.0上正常工作。

enter image description here


在Mountain Lion和Xcode 4.6上,对于新的空项目,它无法正常工作。错误信息为:"OBJC_CLASS$_NSMutableOrderedSet",在libarclite_macosx.a(arclite.o)文件中被引用。只有当我设置“Architectures 32-bit intel”(并选择“Build Active Architecture Only: NO”)时,它才能工作。标准的32/64位Intel或64位Intel无法编译。这正常吗? - Vassilis
我需要 Mac OS X 10.6 和 10.7 SDK,我在 Lion 版的 XCode 4.3.3 的软件包内容中找到了。谢谢! - jaime

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接