Swift의 환경변수 참조
스위프트에서 환경 변수를 어떻게 잡을 수 있는지 아는 사람?
스위프트 3 이상:
import Foundation
if let value = ProcessInfo.processInfo.environment["KEY"] {
    ...
}
와 함께NSProcessInfoOleg가 언급한 기반 방법은 표준 C를 사용하여 환경 변수에 액세스할 수 있습니다.getenv다음과 같은 기능:
Swift 2.x:
func getEnvironmentVar(name: String) -> String? {
    let rawValue = getenv(name)
    guard rawValue != nil else { return nil }
    return String(UTF8String: rawValue)
}
 
Swift 3.0:
func getEnvironmentVar(_ name: String) -> String? {
    guard let rawValue = getenv(name) else { return nil }
    return String(utf8String: rawValue)
}
 
또한 다음을 사용하여 환경 변수를 설정할 수 있습니다.setenv함수:
func setEnvironmentVar(name: String, value: String, overwrite: Bool) {
    setenv(name, value, overwrite ? 1 : 0)
}
 
변수 설정 기능을 언급하는 이유는 Xcode Playground에서 작업할 때 변수를 설정하는 유일한 방법이기 때문입니다.
나는 최근에 이상한 것에 대한 역추적을 보고 싶었습니다.CGContext놀이터에서 "라이브" 보기로 작업할 때 오류가 발생했습니다.기본적으로 백트레이스가 콘솔에 표시되지 않으므로 다음을 설정해야 했습니다.CG_CONTEXT_SHOW_BACKTRACE설정을 확인할 수 있는 환경 변수:
setenv("CG_CONTEXT_SHOW_BACKTRACE", "1", 1)
 
그 후, 순조로웠습니다.음, 그 외에는.CGContext오류가 발생했지만, 그것은 다른 날의 주제입니다.
이것이 도움이 되길 바랍니다!
추신. 위의 기능은 다음을 필요로 합니다.Darwin가져올 모듈입니다.Foundation자동으로 가져오기Darwin그럼에도 불구하고 나는 그것을 언급해야 한다고 생각했습니다.
네, 가능합니다. 사용하세요.ProcessInfo그것 때문에
간단한 예:
let dic = ProcessInfo.processInfo.environment
if dic["VAR"] != nil {
}
스위프트 3 이후NSProcessInfo로 이름이 변경되었습니다.ProcessInfo그리고 방법processInfo()자산으로 대체되었습니다.processInfo.
import Foundation
for (key, value) in ProcessInfo.processInfo.environment {
    print("\(key): \(value)")
}
또는 Apple 개발자 포럼에 설명된 대로 Info.plist 파일을 사용하여 앱이 런타임에 필요로 하는 빌드 타임 환경 변수를 저장할 수 있습니다.
예를 들어 다음과 같은 MyConfig.xccconfig 파일이 있는 경우:
MY_SECRET_API_KEY = mysupersecretapikeyvaluehereInfo.plist에서 다음과 같은 항목을 추가해야 합니다.
<key>MySecretApiKey</key> <string>$(MY_SECRET_API_KEY)</string>마지막으로 코드에서 변수 값을 다음과 같이 읽습니다.
guard let infoDictionary: [String: Any] = Bundle.main.infoDictionary else { return } guard let mySecretApiKey: String = infoDictionary["MySecretApiKey"] as? String else { return } print("Here's your api key value -> \(mySecretApiKey)")
증기 관련 용액:
Vapor가 프로젝트 템플릿으로 자동 생성하는 코드:
let variable = Environment.get("VARIABLE") ?? "or-the-dafault"
언급URL : https://stackoverflow.com/questions/36219597/referring-to-environment-variables-in-swift
'programing' 카테고리의 다른 글
| Git는 Gtk-WARNING을 생성합니다: 디스플레이를 열 수 없습니다. (0) | 2023.08.24 | 
|---|---|
| jQueryForce iframe에 대한 src 속성 설정 (0) | 2023.08.24 | 
| 문자열은 어떻게 전달됩니까?NET? (0) | 2023.08.19 | 
| 2015년 4월 20일(v3 API 없이) 이후 유튜브 채널 RSS 피드를 얻는 방법은 무엇입니까? (0) | 2023.08.19 | 
| float를 문자열로 변환하고 Java에서 float할 문자열 (0) | 2023.08.19 |