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 时按照以下步骤解决了这个问题:
- Select目标
- 转到构建设置。
- 然后向下滚动到包装
- 产品模块名称
- 如果模块名称中有空格,请将其替换为下划线
在这种情况下,您需要 $(PRODUCT_NAME:c99extidentifier)
for PRODUCT_MODULE_NAME
。
c99extidentifier
允许在 PRODUCT_NAME
.
中使用破折号
这也是默认的项目值,可以在每个目标中继承。
尝试 运行 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 时按照以下步骤解决了这个问题:
- Select目标
- 转到构建设置。
- 然后向下滚动到包装
- 产品模块名称
- 如果模块名称中有空格,请将其替换为下划线
在这种情况下,您需要 $(PRODUCT_NAME:c99extidentifier)
for PRODUCT_MODULE_NAME
。
c99extidentifier
允许在 PRODUCT_NAME
.
这也是默认的项目值,可以在每个目标中继承。