Swift frameworks do not work with build configurations named other than 'Debug' or 'Release': No such module
Solution 1:
Add the following Framework Search Path
in the Build Settings
of your target:
$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)
and make it non-recursive
In my case this was for Alamofire, which was added to my project as a git submodule.
The framework was being built correctly which can be seen in the build logs, but I assume the default framework search path is derived from the scheme name. The Alamofire framework & dSYM file are in Release-iphoneos
/ Release-iphonesimulator
.
This should work work with any Swift framework as long as it's scheme names are default. If not, check the build logs and adjust the framework search path accordingly.
Solution 2:
I had this issue as well and fixed it by adding the same configuration names to the included Alamofire project.
My build schemes in my main project:
And the build schemes inside the Alamofire project:
Note: Also, make sure your iOS deployment target is the same in both projects.