[TIL] API KEY 관리

Eden·2025년 8월 1일

iOS 개발 시, 외부에 노출되면 안 되는 API Key를 안전하게 관리하기 위해 Secrets.plist 파일을 사용하고, 이를 Git에 커밋하지 않도록 설정하는 방법을 설명합니다.


1. Secrets.plist 생성

  1. Xcode에서 프로젝트 루트에 Secrets.plist 파일 생성
  2. 다음과 같은 형식으로 API 키를 추가
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>GOOGLE_API_KEY</key>
    <string>YOUR_API_KEY</string>
</dict>
</plist>

2. Secrets.plist를 불러오는 코드

import Foundation

class Secrets {
    static let shared = Secrets()

    private var secrets: [String: Any] = [:]

    private init() {
        if let url = Bundle.main.url(forResource: "Secrets", withExtension: "plist"),
           let data = try? Data(contentsOf: url),
           let plist = try? PropertyListSerialization.propertyList(from: data, options: [], format: nil),
           let dict = plist as? [String: Any] {
            secrets = dict
        }
    }

    func value(for key: String) -> String? {
        return secrets[key] as? String
    }
}

사용 예시

let apiKey = Secrets.shared.value(for: "GOOGLE_API_KEY")

3. .gitignore 설정

.gitignore 파일에 아래 라인 추가

/Secrets.plist

이렇게 하면 Secrets.plist는 Git 추적 대상에서 제외됩니다.

profile
iOS Dev

0개의 댓글