61

安装 Xcode 9 beta 后,Xcode 8 在编译项目时给我一个错误:

在“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Agents/cdtool”中找不到 cdtool:找不到平台的模拟器运行时<DVTPlatform:0x7fd67af0a930:'com.apple.platform.iphonesimulator':<DVTFilePath:0x7fd67af0a7c0:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform'>>

我怀疑 Xcode 9 修改了 Xcode 8 的一些共享状态(设置路径、覆盖文件等)。但是我尝试删除两个 Xcode 都无济于事。

该项目使用核心数据,并且在尝试编译 xcdatamodel 时显然失败了。

我仍然可以在 Xcode 9 下编译和运行。

4

4 回答 4

186

一位苹果工程师就此事联系了...

那些在 Xcode 8 中出现 cdtool 错误的人,我怀疑你从 Xcode 9 安装了 iOS 10.3 Simulator 运行时。本周发现这会导致 Xcode 8.3 中的 cdtool 出现问题。

您可以通过将 iOS 10.3.simruntime 移到一边并重新启动 CoreSimulatorService ( source ) 来解决此问题:

sudo mkdir /Library/Developer/CoreSimulator/Profiles/Runtimes/Backup 

sudo mv /Library/Developer/CoreSimulator/Profiles/Runtimes/{,Backup/}iOS\ 10.3.simruntime 

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService 

然后重新启动 Xcode、Simulator 等。那些删除 CoreSimulator.framework 并因此无法再运行 Xcode.app 的人可以重新安装 CoreSimulator.framework:

installer -pkg /Applications/Xcode-beta.app/Contents/Resources/Packages/XcodeSystemResources.pkg -target /
于 2017-06-11T12:50:55.557 回答
5

对我不起作用,因为我也有一个 Watch 应用程序并且在 Watch SDK 上出现错误。

我最终删除了 Xcode 8 和 9 Beta,删除/Library/Developer~/Library/Developer. 然后重新安装了 Xcode 8,它工作了。

于 2017-07-12T15:57:19.707 回答
0

您还可以从中删除 10.3 文件夹 /Library/Developer/CoreSimulator/Profiles/Runtimes

重新启动 Xcode 以使其生效(可能不需要)。

于 2017-10-12T18:32:34.747 回答
0

我同意这个答案。此外,我首先从机器中删除了所有现有(备份)Xcode 版本。然后将 xcode 8.3.3 保留在 Application 文件夹中。使项目使用默认的 Xcode 8.3.2 打开。问题得到解决。

当我将 Xcode 9 beta 更新到 9.2 时,问题就来了。

于 2018-01-29T09:10:27.697 回答