We all know that we have Different Environments during the development of a project, we might have to jump around between Local, QA, Stage, Development, Production these Environments.
And all environments have their own values of Token, Service URL, Socket URL
Obviously, we have stored this all values in some constant file, but we can’t Commenting and Uncommenting environment values every time
That’s why This setup will help you to get rid of this type of Problems with different Environments.
Go to your project target and Duplicate the Target
Xcode will create sample copy-info.plist file for you in the root directory, you can drag it with main Info Plist.
Now Xcode will name it to sample copy, you have to change it to something appropriate like – sample Dev Or you can keep as it is if you want to.
You have to change the name at,
- Sample Copy-Info.plist
- Target – you can change it by Click enter on Target
- Scheme Name (Right side from Run button) – Go to Manage Scheme – Select Build – Enter
Go to new Target – Build Settings (All) – Swift Compiler – Custom Flags – Other Swift Flags – Enter
Here you are defining flag that will differ all the values from Actual Environment
Create Swift file named EnvironmentConstant.swift
Remove Everything from File
That’s it You are done. now you have two schemes and both have different EndPoints.
One More IMPORTANT THING
Whenever you create any file then you must add to both targets. otherwise, that file will not available in other Schemes.
You can add it from File Inspector.
You can Download Project with Different Environment from gitlab