我正在尝试将我的项目集成到Travis CI中,我的构建失败并出现以下错误:
用于体系结构i386 的未定义符号和用于体系结构x86_64的未定义符号
对于项目中尚未添加到"目标成员资格"下的测试目标的基本上每个类,我都会收到这些错误。我可以通过将每个 .m 文件添加为测试目标的成员来解决这个问题,但这并没有多大意义,而且我的
我尝试通过运行以下两个命令在本地复制此问题:
xcodebuild -workspace myWorkspace.xcworkspace -scheme MyProjectTests -sdk iphonesimulator build test
xctool -workspace myWorkspace.xcworkspace -scheme MyProjectTests -sdk iphonesimulator build test
使用 xcodebuild
,它可以工作、运行并且测试通过。 使用 xctool
测试失败,错误与 Travis 使用的错误相同,就像 Travis 使用 xctool 一样。
如果有解决此问题的最佳方法,有没有人有任何想法?我想我在某处错过了一些东西,但我遵循了标准的特拉维斯"入门">演练。
大惊小怪之后,没有运气,似乎我能够为特拉维斯设置一个自定义脚本来代替。如前所述,xcodebuild
有效,所以我将以下内容添加到我的travis.yml文件中,一切都很好:
script:
- xcodebuild -workspace myWorkspace.xcworkspace -scheme MyProjectTests -sdk iphonesimulator build test