Biasanya kalo di IDE sejuta umat seperti VSCode, setup environment cukup mudah. Tinggal install node module dotenv trus bikin file .env
beres deh. Setup Environment di Xcode untuk bikin applikasi berbasis Swift cukup banyak kerjaan.
Menambahkan Folder Configurasi atau Environment
Buatlah sebuah subfolder dengan nama Environments atau Config. Lalu di buatlah file dengan extensi .xcconfig
beri nama Development
, tambahkan baris kode dibawah difile tersebut:
PRIVATE_URL=https:/$()/restapi.apple.com/v1/
PRIVATE_TOKEN=12345678qwertty
di file .xcconfig
untuk menghasilkan //
perlu syntax $()
diantara syntax /
.
Setelah itu buat file dengan extensi .swift
, beri nama Environment
atau Env
. Lalu tuliskan kode di bawah ini difile itu.
import Foundation
public enum Environment {
enum Keys {
enum Plist {
static let privateURL = "PRIVATE_URL"
static let privateTOKEN = "PRIVATE_TOKEN"
}
}
private static let infoDictionary: [String: Any] = {
guard let dict = Bundle.main.infoDictionary else {
fatalError("Plist file not found")
}
return dict
}()
static let privateURL: URL = {
guard let userURLstring = Environment.infoDictionary[Keys.Plist.privateURL] as? String else {
fatalError("User URL not set in plist for this environment")
}
guard let url = URL(string: privateURL) else {
fatalError("User URL is invalid")
}
return url
}()
static let privateTOKEN: String = {
guard let privateTOKEN = Environment.infoDictionary[Keys.Plist.privateTOKEN] as? String else {
fatalError("API Key not set in plist for this environment")
}
return privateTOKEN
}()
}
Setup Info.plist
Buka file Info.plist, dan tambahkan baris dengan type data String. Isikan data baris dengan key PRIVATE_URL
lalu value nya $(PRIVATE_URL)
dan key PRIVATE_URL
dengan value $(PRIVATE_TOKEN)
.
Lihat gambar dibawah supaya lebih jelas.
Setup Configuration Project XCode
Secara generate Xcode punya dua configurtion, Debug dan Release. Debug dan Release secara default belum ada pengaturan tertentu alias None. Setelah dibuat file Development.xcconfig
maka Pilihan Development
akan ada. Ubah setinggan dari None
Ke Development
untuk tiap tiap Debug dan Release.