Xcode를 사용한 iOS 개발 중 API KEY를 숨기는 방법에 대해 알아보자
네이버 영화 API를 사용하기 위해 발급받은 2개의 KEY값을 숨겨보겠다.
- X-Naver-Client-Id
- X-Naver-Client-Secret
1. Xcode -> New File -> Property List 파일 생성해주기
2. 생성된 plist 파일에 String 타입의 key를 만들어주고, value에는 값을 넣어준다.
.gitignore에 해당 plist 파일을 세팅해주고 push를 하고 나면 처음에 들어간 임의의 값이 들어간 상태까지만 추적을 하기 때문에 먼저 임의의 value 값을 넣어준다.
이 때, value에 실제 키값을 바로 넣어주어도 상관은 없는데, 이 때는 .gitignore에 해당 plist 파일을 먼저 추가해놓고 plist 파일을 만들어 주어야 한다.
3. .gitignore 파일에 plist 파일을 추가해준다.
4. commit, push 수행
이후 value값에 실제 키값을 입력한 뒤 깃이 plist 파일을 추적하는지 확인해주자
5. 계속 추적이 되고 있다면 해당 명령어를 입력해준다.
# 특정 파일을 skip worktree에 포함시키는 명령어
git update-index --skip-worktree 해당파일명
위의 명령어를 실행하고 다시 확인해보면 더 이상 추적을 하지 않는 것을 볼 수 있다.
- 다시 포함시키고 싶을 때는 아래 명령어를 입력한다.
git update-index --no-skip-worktree 다시포함시키고싶은파일명
API KEY값 사용하기
이제 key값을 불러와서 사용해보자
1. Extension File 생성해주기
스위프트 파일을 새로 만들어주는데 파일명은 프로젝트이름++Bundle.swift 로 해준다.
2. Extension 파일에 plist의 key값을 불러오는 코드를 작성해준다.
3. 값을 불러와서 사용한다.
Bundle.main.KEY이름
※ 참고
Bundle이란 실행 가능한 코드와 그 코드의 자원을 포함하고 있는 디렉토리다. (info.plist, assets 등)
우리는 plist에 접근하는 것이기 때문에 Bundle에 대한 extension을 작성해 주는 것이다.
Bundle.main은 앱이 실행되는 코드가 있는 Bundle 디렉토리에 접근할 수 있게 도와준다. 그렇기 때문에 Bundle.main.KEY이름 으로 접근하여 값을 갖고온다.
[ 참고한 포스팅 ]
https://nareunhagae.tistory.com/44
https://velog.io/@leedool3003/iOS-API-Key-숨기기
https://ios-daniel-yang.tistory.com/56
'iOS' 카테고리의 다른 글
[ iOS ] Swift Package(.swiftpm)에서 .mlmodel 모델 불러오기 (0) | 2023.04.22 |
---|---|
[ iOS ] Xcode 프로젝트 기본 생성 파일 설명 (14.2 버전 기준, UIKit) (0) | 2023.03.06 |
[ iOS ] 코코아팟 설치 후 라이브러리 추가하기 (0) | 2023.02.28 |
[ iOS ] 화면 전환 시 값 전달 방식 (UIKit) (0) | 2023.02.15 |
[ iOS ] Unwind - 화면 복귀 (UIKit) (0) | 2023.02.13 |