So I have an iOS project with tests and everything was working properly.
I felt the need to change the project name. I did as indicated at apple\'s docs, selected t
[UPTADE] This helped Jean-Frederic figuring out his answer. That's why I accepted it.
I finally managed to fix this, but I'm not happy with the solution.
Consider my app name AppName
For some weird reason I cannot explain, my test target Build Settings -> Product Module Name
had $(PRODUCT_NAME:c99extidentifier)
which value was the Appname
, instead of AppNameTests
. I checked with other projects and the value is the same but converted to AppNameTests
so in this case I'm not sure what I can do to make it automatically update and include the Test part in the name.
What I ended up doing was setting the name as $(PRODUCT_NAME:c99extidentifier)Tests
. Not sure if this is a proper solution, but for now it works.
If anybody has a better solution, please feel free to share.
This is a directly parallel solution to Jean-Frederic Plante, though in my case the problem was not that my test target name matched my primary target, but rather that the module of the test target had incorrectly been set to match the module name of the main app target. To correct either of these issues:
$(TARGET_NAME)
.I just stumbled on the same problem, and your post was helpful. What I found out is by change the Product Name
to AppNameTests
, as per your example, then the product module name is reflected correctly and you don't have to add Tests
at the end of $(PRODUCT_NAME:c99extidentifier)
. c99extidentifier
seems torefers to Product Name
.
Summary:
Build Settings -> Packaging
Product Name
to your previous test target, likely appending Tests
@testable
, so I had to do this manually