正在打开模块 'XCTest' 的导入文件:不是目录

Opening import file for module 'XCTest': Not a directory

我在使用 Xcode 8.1 的全新 Sierra 设置中遇到了这个问题。

我有一个 iOS 的框架目标,目标构建正常,但是当我尝试构建测试时,构建失败并出现此错误:

Opening import file for module 'XCTest': Not a directory

我已经看过这些问题,但他们的建议对我们没有用:

项目中的所有设置都非常标准。

这个问题的起因很奇怪。

它发生在我通过 MAS 安装了 Xcode 8.1 的 CI 盒子中。在我们公司,我们使用 xcode-install 提供 CI 个盒子,但出于某种原因,我不记得我没能在这个盒子上这样做。

为了模仿 xcode-install 的行为,我将 Xcode.app 重命名为 Xcode-8.1.app,并为其创建了一个名为 Xcode.app 的别名。

这就是问题所在。我创建的别名不是正确的符号 link。 Xcode.app 实际上不是文件夹。

我在尝试执行引用 Foundation/UIKit 以外的某些系统框架的命令行构建时意识到这一点...它失败了,说它无法在 Xcode.app/... 中找到框架。

一旦我将 Xcode.app 变成一个合适的符号 link 一切正常。