我正在尝试使用 CLI 工具运行我的测试。在遵循各种指南之后,我想出了这个命令:
xcodebuild -workspace myworkspace.xcworkspace -scheme testsScheme -sdk iphonesimulator -arch i386 -configuration Debug TEST_AFTER_BUILD=YES clean build
我得到的错误是:
The following build commands failed:
Ld /Users/<my name>/Library/Developer/Xcode/DerivedData/<project name>-gqrdtdiypfxjrbbjaqofxcjdckcg/Build/Products/Debug-iphonesimulator/<target or schema name>.xctest/<target or schema name> normal i386
我不知道为什么构建失败,因为错误消息不是很给力。
至于我的预配置,我遵循了一些指南并执行了以下操作:我添加了一个针对我的测试目标的仅测试方案(就像我在许多指南中看到的那样),并将它的可执行文件设置为.app 文件(默认设置没有可执行文件,这会导致找不到应用程序文件的错误)。
我正在使用 Cocoapods,但仍然没有standard architecture (arm7, arm64)
在我的项目中使用(我依赖于尚未升级的第 3 方,所以目前我的设置是$(ARCHS_STANDARD_32BIT)
)。
我还检查了"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
运行脚本是否出现并在构建阶段最后发生。
请注意,使用 CMD+U 运行测试按预期工作。
编辑:显然,清理后没有创建 .app 文件(因此删除清理或预构建应用程序有效)。尽管如此(即使我也需要解决这个问题)。我现在收到此错误:
PhaseScriptExecution Run\ Script /Users/shay/Library/Developer/Xcode/DerivedData/<name>-gqrdtdiypfxjrbbjaqofxcjdckcg/Build/Intermediates/<name>.build/Debug-iphonesimulator/<test schema>.build/Script-48FB07F617A93C57006E5E2A.sh
我已经读过打开 iOS 模拟器时可能会发生这种情况,但即使我在运行脚本之前将其杀死也会发生。