IOS Swift
iOS) 중요한 값 Info.plist에 저장하여 사용하기
500beckwon
2023. 3. 7. 18:40
개발을 하다 보면 API Key값 같은 공개해서는 안돼는 고유의 값을 사용할 때가 많은데
이럴 때 어떻게 해야하나? 란 궁금증에 구글링을 해보니 .swift 파일에 선언하여 사용하는 것보다
Info.plist에 key-value에 입력한 후 접근해서 사용하면 안전하게 사용할 수 있다는 글귀를 읽게 되어 시도해보았는데
파일에 선언하는 것보다 훨씬 안전하고 값 자체가 따로 분리할 수 있어 개발하는 과정에서도 그 키값을 어디에 뒀더라? 이런 상황도 피할 수 있게 되어 좋은 것 같아 글을 쓰게 되었습니다.
이런 식으로 값을 넣어주고
var apiKey: String {
get {
guard let filePath = Bundle.main.path(forResource: "Info", ofType: "plist") else {
fatalError("Couldn't find file 'Info.plist'.")
}
let plist = NSDictionary(contentsOfFile: filePath)
guard let value = plist?.object(forKey: String(키값)) as? String else {
fatalError("Couldn't find key 'String(키값)' in 'Info.plist'.")
}
return value
}
}
이런 식으로 해당 값을 사용해야 하는 객체에 선언하면 접근하여 값을 사용할 수 있으므로 편하게 이용할 수 있습니다
만약 .gitIgnore에 Info.plist을 적용하면 해당 값이 개발하다가 실수로 Github에 올라가는 일도 없게 되겠지요!
구글링 할 때 키 값이 swift파일에서 사용하는게 아닌 info.plist에 적혀있기 때문에 fatalError로 한 것 같아 그대로 활용하였습니다