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'.
解法:
- 退出Xcode
- 转到
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
- 从该目录中删除
iPhoneOS9.3.sdk
文件夹。如果您仍然需要它,请务必制作一个外部副本,以便稍后将其放回原处。
- 重新启动 Xcode、清理并构建
- ???
- 利润
更新:
根据@tsafrir 的评论,也删除模拟器文件夹的 'iPhoneOS9.3.sdk':
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
模拟器的 iPhoneOS9.3.sdk
位于 Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
。
- 退出xcode
- 删除
- 清洁
- 重新构建。
打开/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
这是因为旧的 xcode 仍在系统中,而您更新了新的。
要修复此问题,请使用以下步骤。
- 退出 Xcode
- 前往
模拟器和iPhoneOS。平台
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
3. 从该目录中删除 iPhoneOS9.x.sdk 文件夹。务必
如果您仍然需要它,请制作一个外部副本,以便您可以将其放回去
稍后。
- 复制旧的 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> 清理并构建。
固定
我刚刚安装了 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'.
解法:
- 退出Xcode
- 转到
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
- 从该目录中删除
iPhoneOS9.3.sdk
文件夹。如果您仍然需要它,请务必制作一个外部副本,以便稍后将其放回原处。 - 重新启动 Xcode、清理并构建
- ???
- 利润
更新:
根据@tsafrir 的评论,也删除模拟器文件夹的 'iPhoneOS9.3.sdk':
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
模拟器的 iPhoneOS9.3.sdk
位于 Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
。
- 退出xcode
- 删除
- 清洁
- 重新构建。
打开/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
这是因为旧的 xcode 仍在系统中,而您更新了新的。 要修复此问题,请使用以下步骤。
- 退出 Xcode
- 前往 模拟器和iPhoneOS。平台
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
3. 从该目录中删除 iPhoneOS9.x.sdk 文件夹。务必
如果您仍然需要它,请制作一个外部副本,以便您可以将其放回去
稍后。
- 复制旧的 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> 清理并构建。
固定