【问题标题】:Xcode : module name "" is not a valid identifier while running XC unit testXcode:运行 XC 单元测试时,模块名称“”不是有效标识符
【发布时间】:2017-07-24 20:49:07
【问题描述】:

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

:0: 错误:模块名称“”不是有效的标识符 命令 /Applications/Xcode8.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1

但一旦我编辑方案并取消选中构建中的测试,我就可以在模拟器上运行应用程序,但无法运行测试。

【问题讨论】:

  • 您是否尝试过清理构建文件夹?在选项下
  • 是否进行了干净的构建,如果测试目标缺少产品模块名称,它将无法工作

标签: ios swift xcode sdwebimage


【解决方案1】:

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

【讨论】:

  • 我可以将 PRODUCT_MODULE_NAME 添加到测试目标吗?我得到 There are already PRODUCT_MODULE_NAME 所以我无法将其添加到测试目标。
  • 并确保 PRODUCT_NAME 不包含破折号之类的字符。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    c99extidentifier 允许在PRODUCT_NAME 中使用破折号。

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

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 1970-01-01
      • 2022-01-13
      • 2012-04-18
      • 2015-06-08
      • 2012-07-26
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多