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

Viewed 3691

Trying to run XCTest with my CocoaPods set up using SDWebImage, and I can only see this error as below. Any suggestions?

: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

But as soon as I edit the scheme and uncheck the test inside the builds, I am able to run the app on simulator but can't run the tests.

3 Answers

I was able to fix the problem by following the steps below while migrating from Xcode 11 to 11.2:

  1. Select the target
  2. Go to Build Settings.
  3. Then scroll down to Packaging
  4. Product module name
  5. If you have spaces in your module name, replace them with underscores

In this case your need to $(PRODUCT_NAME:c99extidentifier) for PRODUCT_MODULE_NAME.

c99extidentifier allows using dashes in the PRODUCT_NAME.

Also this is the default project value which can be inherited in each target.

Related