Swift不支持SDK'iPhoneSimulator9.3.sdk'?

Swift does not support the SDK 'iPhoneSimulator9.3.sdk'?

我刚刚安装了 xcode 8.0 并将我的项目升级到 swift 3。我使用的是 swift 2.2 和 xcode 7.3.1。

但出现以下错误:

Swift does not support the SDK 'iPhoneSimulator9.3.sdk'

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

不是最好的解决方案,但选择 - "Use Legacy Compiler Version":是的,为我删除了那个警告。

这发生在我身上,当时我同时安装了 Xcode 7 和 7.3,在自动更新后我只剩下 8.0。

终端中 xcodebuild -sdk -version 的输出表明出现了问题:

DVTSDK: Warning: SDK path collision for path '<DVTFilePath:0x7fd810db4c50:'/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS3.0.sdk'>': SDK with name 'watchos3.0' being superceded by SDK with 'watchos3.0'.

解法:

  1. 退出Xcode
  2. 转到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
  3. 从该目录中删除 iPhoneOS9.3.sdk 文件夹。如果您仍然需要它,请务必制作一个外部副本,以便稍后将其放回原处。
  4. 重新启动 Xcode、清理并构建
  5. ???
  6. 利润

更新:

根据@tsafrir 的评论,也删除模拟器文件夹的 'iPhoneOS9.3.sdk': /Applications/Xcode.app/Contents/Developer/Platforms/iPhon‌​eSimulator.platform/‌​Developer/SDKs

模拟器的 iPhoneOS9.3.sdk 位于 Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

  1. 退出xcode
  2. 删除
  3. 清洁
  4. 重新构建。

打开/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

这是因为旧的 xcode 仍在系统中,而您更新了新的。 要修复此问题,请使用以下步骤。

  1. 退出 Xcode
  2. 前往 模拟器和iPhoneOS。平台

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ 3. 从该目录中删除 iPhoneOS9.x.sdk 文件夹。务必
如果您仍然需要它,请制作一个外部副本,以便您可以将其放回去
稍后。

  1. 复制旧的 xcode sdk(iPhoneOS9.x(更新的 SDK)) Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS9.3(更新SDK)

5> 将此 SDK 粘贴到此文件夹中的新 XCODE8 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

6> 清理并构建。

固定