测试 iOS 应用程序时,Teamcity Step 测试(命令行)失败

Teamcity Step tests (Command Line) failed when testing an iOS app

我正在尝试 运行 使用 Teamcity 自动测试,但似乎当代理正在编译项目时,它没有正确完成,因为当我 运行 命令像 for 运行ning 测试,出现以下错误:

fatal error: 'Pushwoosh/PushNotificationManager.h' file not found
#import <Pushwoosh/PushNotificationManager.h>
[16:48:51][Step 2/2]         ^
[16:48:51][Step 2/2] 1 error generated.

但是,当我 运行 手动执行相同的命令时,我没有收到任何错误,但我的测试 运行ning。我想要运行的应用程序是在objective-c中编写的,我使用的命令行如下:

$ git clone REPOSITORY_URL (runs sucessfully)
$ pod install              (runs sucessfully)
$ xctool -workspace Supermaxi.xcworkspace    -scheme Supermaxi     test -only FunctionalTests:TestCase000_Registration/test00_WrongEmail  -sdk iphonesimulator (fails and I get the previous described error)

在我朋友的帮助下,我们在link找到了解决这个问题的方法。

事实证明,正如 link 所述,主要问题是 CocoaPods 在其目录结构中使用符号 link,而 TeamCity 可能无法复制符号links 在 VCS checkout 中构建代理,所以我必须设置 Teamcity 的版本控制设置,正如前面 link.

中所解释的那样

因此,我刚刚将 VCS 检出模式从在服务器上自动更改为在代理上自动(如果 VCS root 支持) .之后我再次运行代理,它正常工作。