In my ios app, I'm trying to distinguish environments, to make web api calls to the proper environment (Development
, Staging
and Production
).
For that I have created a configuration.plist
file with the different endpoints for each environment and:
- Duplicated the
Debug
Configuration and called itDevelopment Build
. - Created a new Scheme called
Development
(duplicated theDebug
scheme) and in the Info tab (Run
section) chose theDevelopment Build
configuration.
When I run in Debug mode, everything runs normally.
I'm using cocoa pods.
If I select Development
scheme, I get a No such module 'JazzHands'
If I edit the Development
scheme to use the Debug
build, it works fine.
So I must be missing some thing for this not to work.
For those running into this question, try
pod install
this will generate some .xcconfig files with your configuration name. Clean your build folder and build again.This worked for me with Cocoapods 1.0
Solution:
Create the same custom build configuration in
JazzHands
Root cause:
No such module
is thrown because it can't locate theJazzHands
for your custom build configurationBackground:
DerivedData
.Build
folder which would contain a folder corresponding to each build configuration for your project.Development
folder would not contain the frameworkJazzHands
binaryDebug
folder would contain the frameworkJazzHands
binaryExample:
Given below is an example:
~/Library/Developer/Xcode/DerivedData/SomeApp-skjahjkdhsakjhdaskjdhaskjlhs/Build/Development-iphonesimulator