You can create custom environment values in Swift by defining an enum
conforming to the CaseIterable
and RawRepresentable
protocols. Here's an example:
main.swift101 chars6 lines
In this example, we define an enum
called Environment
with three cases: development
, staging
, and production
. The RawRepresentable
protocol enables us to create an enum
with a raw type, which in this case is String
. We can now use these cases to represent different environment values in our app.
To access the environment value, we can use the ProcessInfo
class provided by Apple. The environment
property of ProcessInfo
returns a dictionary containing all environment variables.
Here's an example of how to get the custom environment variable we just created:
main.swift175 chars3 lines
In this example, we first get the environment string value for our variable using ProcessInfo.processInfo.environment
. We then create an instance of our Environment
enum by using the rawValue
initializer. If the environment string is empty or not a valid raw value, we default to the .development
case.
Once we have the environment value in our app, we can use it to configure different settings, endpoints, or other functionality depending on the environment in which our app is running.
gistlibby LogSnag