【问题标题】:Xcode 9 Bug: Cannot find cdtoolXcode 9 错误:找不到 cdtool
【发布时间】:2017-11-12 07:24:20
【问题描述】:

安装 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 都无济于事。

该项目使用 Core Data,并且在尝试编译 xcdatamodel 时显然失败了。

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

【问题讨论】:

    标签: ios xcode xcode8 xcode9


    【解决方案1】:

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

    那些在 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 /
    

    【讨论】:

    • 将我的模拟器移动到备份文件夹后,我的 Xcode 再也找不到 iOS10.3 模拟器了。有什么办法解决这个问题?
    • @VasilNunev 这是此解决方案的主要问题,实际上您正在将 iOS 10.3 移到遥不可及的地方,因此它不会出现。我需要使用 iOS 10 进行测试,所以我想我将不得不继续使用 Xcode 8 错误编辑器:(
    • 我刚刚决定使用 Xcode 9 并为 iOS 10 开发,我在设备上运行。当然,直到他们修复它。
    • @VasilNunev 移动文件夹后是否有可能忘记重新启动(杀死)CoreSimulatorService?在前面提到的 'sudo killall ...' 行(加上重新启动 Xcode/Simulator)之后,它对我来说很好。
    • 今天 9 月 19 日,XCode 9 GM 出来了,这仍然是未解决的错误 xD
    【解决方案2】:

    不适合我,因为我也有一个 Watch 应用,并且在 Watch SDK 上出现错误。

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

    【讨论】:

    • 这是个坏建议。请不要跟风。您不应该删除 /Library/Developer 中的内容,因为这会导致 Xcode 9 无法启动(并且它不会重新安装内容,因为它希望用户不会删除它)。
    • 任何不小心这样做的人都可以通过手动安装 /Applications/Xcode.app/Contents/Resources/Packages/XcodeSystemResources.pkg 来恢复
    【解决方案3】:

    您也可以从 /Library/Developer/CoreSimulator/Profiles/Runtimes

    重启 Xcode 才能生效(可能不需要)。

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多