MapleStory Finger Point

[iOS] Xcode 프로젝트를 GitHub에 Push 하기 전 API Key 숨기기

2024. 3. 12. 19:38iOS Development

대부분의 앱들은 네트워크 통신으로 데이터를 받아서 앱에 활용하는데 API 콜을 하기 위해서는 당연히 API Key가 필요하다.

 

API Key는 외부에 노출되면 안 되기 때문에 보안적인 측면에서 GitHub의 Remote Repository에 Push 하기 전에 Key를 외부에 보이지 않도록 관리해주는 작업이 필요하다. (Public Repository는 더욱 주의가 필요하다!)

 

따라서 다음과 같이 Xcode 내에서 API Key를 숨겨보는 작업을 진행해 보자.

 

 


 

1. xcconfig 파일 생성

프로젝트 바로 하위에 위치하도록 'Configuration Settings File' 파일을 추가한다.

 

xcconfig 파일의 생성 위치

 

xcconfig 파일에 API 키를 맵핑시켜 준다.

API_KEY = {실제 API Key 입력}

 

2. [프로젝트 파일] > [PROJECT] > [Info] > [Configurations]에서 추가한 xcconfig 추가

 

3. [프로젝트 파일] > [Targets] > [Info]에 Key-Value 추가

  • Key: API_KEY
  • Value: $(API_KEY)

 

4. Bundle을 통해 코드 상에서 API Key 불러오기

기존에 하드 코딩으로 Key를 사용했던 것을 지우고 다음과 같이 Key 값을 불러온다.

guard let apiKey = Bundle.main.object(forInfoDictionaryKey: "API_KEY") as? String else { return }

수정 후 정상 작동하는지 확인해 주자!

 

5. gitignore 설정

.gitignore 파일에 다음 내용을 추가한다.

*.xcconfig

 

해당 작업을 해주지 않으면 Commit 시 xcconfig 파일을 인식하고 해당 Commit을 Push 할 경우 Remote 레포지토리에 파일이 올라가는 불상사가 생기니 반드시 주의해서 작업해줘야 한다!