Xcode:模块名称“”不是有效标识符,而 运行 XC 单元测试

Xcode : module name "" is not a valid identifier while running XC unit test

尝试 运行 XCTest 使用 SDWebImage 设置的 CocoaPods,但我只能看到如下错误。有什么建议吗?

:0: error: module name "" is not a valid identifier Command /Applications/Xcode8.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

但是,一旦我编辑方案并取消选中内部版本中的测试,我就可以 运行 模拟器上的应用程序,但不能 运行 测试。

始终确保所有测试目标的 PRODUCT_MODULE_NAME 设置为 $(PRODUCT_NAME)

我在从 Xcode 11 迁移到 11.2 时按照以下步骤解决了这个问题:

  1. Select目标
  2. 转到构建设置。
  3. 然后向下滚动到包装
  4. 产品模块名称
  5. 如果模块名称中有空格,请将其替换为下划线

在这种情况下,您需要 $(PRODUCT_NAME:c99extidentifier) for PRODUCT_MODULE_NAME

c99extidentifier 允许在 PRODUCT_NAME.

中使用破折号

这也是默认的项目值,可以在每个目标中继承。