RuntimeEnvironment manage all your environment variable with a specific environment set in your Info.plist file
To install RuntimeEnvironment with CocoaPods, add the following lines to your Podfile
.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'RuntimeEnvironment'
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate RuntimeEnvironment into your Xcode project using Carthage, specify it in your Cartfile
:
github 'Digipolitan/runtime-environment' ~> 1.0
Run carthage update
to build the framework and drag the built RuntimeEnvironment.framework
into your Xcode project.
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift
compiler.
Once you have your Swift package set up, adding RuntimeEnvironment as a dependency is as easy as adding it to the dependencies
value of your Package.swift
.
dependencies: [
.package(url: "https://github.com/Digipolitan/runtime-environment.git", from: "1.0.0")
]
First you must set the environment mode in your Info.plist file
<key>Environment</key>
<string>production</string>
Authorized environment value are development, staging, production
After that, at runtime you must register all your variable as follow:
let env = RuntimeEnvironment.shared
env.set("API_KEY", "dsdqsiIDNSIQUdiusqdDSQ")
You can set multiple variable at once using dictionary
let env = RuntimeEnvironment.shared
env.set([
"secure": true,
"baseUrl": "http://localhost"
])
2 file format are available: json & plist
let env = RuntimeEnvironment.shared
env.setFile("env.prod", format: .json)
See CONTRIBUTING.md for more details!
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
RuntimeEnvironment is licensed under the BSD 3-Clause license.