xcconfig 파일을 통해 Github ignore 설정하기
[ 1. xcconfig 파일 생성 ]
[ New File from Templete... 클릭 ] → [Other 부분에 Configuration Settings File 클릭 ]
[ 2. API 키 작성하기 ]
만든 xcconfig 파일에 사용하는 API 키를 작성한다.
[ 3. PROJECT에 등록 ]
[ 4. Info.plist 에서 API 키 추가 ]
[ 5. 사용 예시 ]
func fetchBooksFromKakaoAPI() {
guard let filePath = Bundle.main.path(forResource: "Info", ofType: "plist") else {
return
}
let plist = NSDictionary(contentsOfFile: filePath)
guard let apiKey = plist?.object(forKey: "KakaoApiKey") as? String else {
return
}
let query = "\(searchBar.text ?? "")"
let encodedQuery = query.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
let urlString = "https://dapi.kakao.com/v3/search/book?query=\(encodedQuery)"
guard let url = URL(string: urlString) else { return }
let headers: HTTPHeaders = [
"Authorization": "KakaoAK \(apiKey)"
]
[ 6. gitignore에 xcconfig 파일 추가하기 ]
gitignore 파일 맨 아랫부분에 *.xcconfig 추가
❌ API 키를 코드에 작성해서 github에 올리지 않는 이유
🔐 1. API 키는 민감한 정보다
- API 키는 특정 서비스(예: Firebase, Google Maps, OpenAI 등)를 사용할 수 있는 인증 수단입니다.
- API 키가 외부에 노출되면, 누구나 당신의 계정을 사용해 서비스에 접근할 수 있습니다.
- 예: Firebase의 경우 데이터베이스를 무단으로 읽거나 쓸 수 있음
- 예: 유료 API라면, 누군가 당신의 키를 사용해 요금이 청구될 수 있음
🚫 2. 공개 저장소에 올리면 전 세계에 공개된다
- GitHub의 저장소가 공개(public)일 경우, 올린 순간 전 세계 누구나 그 파일을 볼 수 있습니다.
- GitHub는 검색 기능이 뛰어나서 API_KEY=처럼 노출된 키들을 크롤링하는 봇이나 악의적인 사용자도 많습니다.
🛡️ 3. .gitignore로 처리하면 Git이 추적하지 않는다
- .gitignore에 API 키가 들어있는 파일을 추가하면 Git은 그 파일을 추적하지 않고, GitHub에도 올라가지 않습니다.
'스파르타 코딩 클럽 - iOS 스타터 6기 > 본 캠프' 카테고리의 다른 글
50. 스파르타 코딩 클럽 - BookSearchApp #2 (0) | 2025.05.16 |
---|---|
49. 스파르타 코딩 클럽 - BookSearchApp #1 (4) | 2025.05.15 |
47. 스파르타 코딩 클럽 - UITabBarController (0) | 2025.05.12 |
46. 스파르타 코딩 클럽 - RxSwift (1) | 2025.05.09 |
45. 스파르타 코딩 클럽 - UICollectionViewCompositional Layout (0) | 2025.05.09 |