Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

357
Views
Adding variables at build time in Xcode

I have some dynamic values I need to change based on the type of build I am doing in Xcode.

I have created 2 schemes DEV and PROD and set environment variables in each

enter image description here

I then consume these in code as follows

var serviceDomain: String {
    let envVar = ProcessInfo.processInfo.environment
    guard let value = envVar["APP_SERVICE_DOMAIN"] else { fatalError("Missing APP_SERVICE_DOMAIN enviroment variable") }
    return value
}

Is this the correct way to approach this?

Once an app is compiled, should these values now be bundled with it?

I have an issue in that once I've stopped my simulator, if I try to open an app built this way, it crashes and I suspect the environment variables aren't present anymore.

In short, I would like a build for dev that uses one set of variables and a build for release / production that uses another.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You don't need environment variables at all!

Go to build settings and search for active compilation conditions:

enter image description here

Add DEBUG for Debug and RELEASE for Release as I have done here.

Then declare your variables. Let's say you want a to be 1 in release mode, and 2 in debug mode,

#if RELEASE
let a = 1
#elseif DEBUG
let a = 2
#endif

And that's it!

The compiler will choose one of the values to compile, depending on your scheme's Build Configuration. Here, it is debug, so 2 will be used:

enter image description here

More details on this #if thingy

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!