[의사결정 기록] API Key 은닉화 방법 선택하기

2026. 3. 10. 12:36·내일배움캠프/Kickboard - Animality

📝 API Key 은닉화 방법 선택

🗓️ 2026-02-27(금)


의견

1. xcconfig를 통해 Key 보관하기

  : .xcconfig 파일을 생성하여 Key 저장 후, info.plist에 추가하여 사용하는 방법

  : git에 올릴 때는 gitignore로 .xcconfig 파일 제외

 

2. swift 파일에 상수화하여 직접 보관하기

  : swift 파일 내부에 static 전역 변수로 Key를 선언하여 사용하는 방법

  : git에 올릴 때 지워서 올려야함

 

3. 서버에서 API Key 내려받기

  : 외부 서버와의 통신을 통해 API Key를 받는 방법

 

결과

프로젝트 내부에 api.json 파일을 추가하여 파싱하여 변수에 저장하여 사용,

api.json 파일은 gitignore 하는 방식 채택

→ 2번 방식을 잘못 이해하여 이와 같은 방식을 채택하게 되었음...

 

선정 이유

- 1번: info.plist의 경우 리소스이므로 빌드시 기계어로 변경되지 않고 원본이 빌드결과물에 포함

→ 단순히 패키지 내용을 살펴봄으로써 Key 노출이 가능

 

- 3번: 외부 서버는 활용 계획이 없었으므로 배제

 

배포를 위한 앱이 아니므로 현 상황에서는 채택 방식으로도 git에서의 Key 노출 방지는 가능

 

Risk

채택한 방식은 사실상 1번 방식과 동일하다는 것을 프로젝트 종료 후 깨닫게 됨

→ 앱을 배포한다고 가정했을 경우 앱을 뜯으면 api.json이라는 파일이 발견되기가 더 쉽기 때문에 Key가 노출될 가능성 ↑

⇒ 동일한 방법을 사용한다면 .xcconfig를 사용하는 1번 방식을 채택하는 것이 나음

    (.xcconfig → info.plist로의 변형 과정을 한번이라도 더 거치기 때문)

 

앱 단에서의 노출을 막고 싶다면 외부 서버에서 내려받는 것이 가장 안전할 것으로 생각됨

'내일배움캠프 > Kickboard - Animality' 카테고리의 다른 글

[트러블 슈팅] UICollectionView 상단에 여백 주기  (0) 2026.03.11
[트러블 슈팅] UICollectionView Cell deque시 NSAttributedString 생성 불가 현상  (0) 2026.03.11
[트러블 슈팅] UIButton의 isHighlighted 미해제  (0) 2026.03.10
[의사결정 기록] 아키텍처 패턴 선정하기  (0) 2026.03.10
[프로젝트 소개] 공유 킥보드 앱 만들기 - Animality  (0) 2026.03.09
'내일배움캠프/Kickboard - Animality' 카테고리의 다른 글
  • [트러블 슈팅] UICollectionView Cell deque시 NSAttributedString 생성 불가 현상
  • [트러블 슈팅] UIButton의 isHighlighted 미해제
  • [의사결정 기록] 아키텍처 패턴 선정하기
  • [프로젝트 소개] 공유 킥보드 앱 만들기 - Animality
devbambu
devbambu
devbambu 님의 블로그 입니다.
  • devbambu
    devbambu 님의 블로그
    devbambu
  • 전체
    오늘
    어제
    • devBambu (21)
      • WWDC (1)
      • Swift Github (1)
        • Algorithms (1)
      • 내일배움캠프 (19)
        • Kiosk - Gacha! (4)
        • 환율 계산기 - 개인 프로젝트 (6)
        • Kickboard - Animality (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
devbambu
[의사결정 기록] API Key 은닉화 방법 선택하기
상단으로

티스토리툴바