Swift不支持SDK'iPhoneSimulator8.4.sdk'

问题描述:

刚更新到Xcode 7.0.1,在禁用SIP的El Capitan(GM)上运行。现在每次我尝试编译一个Swift项目时,我都会遇到这个错误;Swift不支持SDK'iPhoneSimulator8.4.sdk'

<unknown>:0: error: Swift does not support the SDK 'iPhoneSimulator8.4.sdk' 
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

我试过编译实际设备以及并获得:

<unknown>:0: error: Swift does not support the SDK 'iPhoneOS8.4.sdk' 
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

我的部署目标最初设定为8.0,我试图将其设置为9.0,但没什么区别。我的基础SDK被设置为最新的iOS(iOS 9.0)。

这是跨所有我的Swift项目,即使当我创建一个新的项目,我仍然得到这个错误。

它似乎没有影响Objective-C。我以为有一个想法,可能这是SIP被禁用的问题吗?它看起来不像权限错误,但我看不到其他原因,为什么这不起作用。

+0

在Xcode中选择哪个iOS模拟器用于构建? – zaph

+0

我试了几次,但都是运行iOS9。我主要尝试在iPhone 6S上,因为没有办法无法实现iOS9 –

+0

同样的问题在这里。我更新到7.0.1,但仍然在优胜美地。 – octref

这发生在我身上的时候,我同时安装了Xcode 76.4,并且在自动更新后我只剩下7.0.1。的东西弄乱

一个迹象是的xcodebuild -sdk -version输出:

xcodebuild[29131:8243992] [MT] DVTSDK: Warning: SDK path collision for path '<DVTFilePath:0x7fac2ae3c800:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk'>': SDK with name 'iphoneos9.0' being superceded by SDK with 'iphoneos9.0'. 
... 
iPhoneOS8.4.sdk - iOS 9.0 (iphoneos9.0) 
SDKVersion: 9.0 
Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk 
PlatformVersion: 9.0 
PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform 
ProductBuildVersion: 13A340 
ProductCopyright: 1983-2015 Apple Inc. 
ProductName: iPhone OS 
ProductVersion: 9.0 
... 

有可能是解决这个更简单的方法,但重装Xcode 7.0.1固定对我来说。

+0

升级到7.1之前我有相同的配置,重新安装就修好了! –

+0

使用Xcode 7.1(重命名为保留)和Xcode 6.4对我进行处理。 Appstore更新并且两个版本都没有了。有点可怕的是重命名的Xcode会自动删除。现在我*重新安装一切。 :/ – DevAndArtist

如果您不想重新安装Xcode(假设您正在为iOS 9构建),只需退出Xcode并转到“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs /“并从该目录中删除”iPhoneOS8.4.sdk“文件夹。如果您仍然需要,请务必制作外部副本,以便稍后再放回。然后重新启动Xcode,清理并构建。为我工作。

+1

谢谢。在我的情况下,旧的SDK文件夹只是符号链接,而不是真实的文件,但是摆脱它们仍然解决了问题。 –