如何将Xcode指向旧的SDK,以便它可以用作“基础SDK”?

时间:2012-07-11 02:59:17

标签: xcode macos sdk xcode4 xcode5

我的Mac设置:

第A卷
OS X 10.8
Xcode 4.5或更高版本 - 10.6 SDK 可用作Base SDK

第B卷
OS X 10.7
Xcode 4.3.3 - 10.6 SDK IS 可用作Base SDK

第C卷
OS X 10.6
Xcode 4.2 - 10.6 SDK IS 以Base SDK为基础


在A卷上,我安装了Xcode 4.5,它不包含10.6 SDK作为Build Targets'Build Settings中可用的“Base SDK”。

我在这个硬盘上有一个单独的10.6卷和10.7卷 - 两个都安装了Xcode,这两个允许我在Xcode Build Targets的Build Settings中选择10.6 SDK作为Base SDK。

我知道我在C卷上安装了10.6 SDK(来自旧版Xcode安装的/Developer/SDKs)。

如何将A卷上的Xcode指向存在于C卷的10.6 SDK?

4 个答案:

答案 0 :(得分:84)

您需要在旧SDK中添加符号链接(这通常比复制更容易)。

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
ln -s /path/to/old/SDK .

这可以很好地回到10.5。除此之外事情变得更复杂......

虽然在Xcode的未来版本中没有承诺支持这一点,但我已经与Xcode团队讨论了这个问题,他们似乎并不热衷于很快改变它。

我个人经常将/ path / to / old / SDK保存在名为/ SDKs的顶级目录中。这样每次升级都很容易解决所有问题。

编辑:我有一个fix-xcode脚本,可以在每次Xcode升级时简化重新应用此修复程序。


更新:在Xcode(7.3+)的现代版本中,要使用较旧的SDK,请在此处修改MinimumSDKVersion

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist

答案 1 :(得分:20)

错误的做法。你没有在SDK上“指出”Xcode。相反,您可以更好地将SDK复制到Xcode安装的相应“SDK”文件夹中。在现代Xcode安装中,这通常是:

Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /

将SDK复制到那里,退出并重新启动Xcode,看看你找到了什么。

(在这里阅读其他答案我认为,如果您将原始SDK保留在别处,那么符号链接可能是一种选择)

答案 2 :(得分:0)

为什么不只是SDK的符号链接? " ln -s"?如果那不起作用,那将是一些需要的黑客攻击。

答案 3 :(得分:0)

通过浏览旧版Xcode.App/Developer/platforms解决问题,并将iOS 6.1 SDK复制到XCode 5的同一文件夹中。