我的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?
答案 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的同一文件夹中。