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
github에 올리면 안되는 APIKEY 숨기기 - iOS
화면과 같이 간단한 프로젝트를 바탕으로 설명하겠습니다. 프로젝트는 여기 링크로 가시면 상세 코드 및 화면 구성을 확인하실 수 있습니다! 화면은 아래와 같이 간단하게 구성하였습니다. 우
nareunhagae.tistory.com
https://velog.io/@leedool3003/iOS-API-Key-숨기기
[iOS] github에 API Key 숨기기
github에 API Key를 숨겨보자
velog.io
https://ios-daniel-yang.tistory.com/56
[iOS/Swift] plist의 값 얻는 방법 및 Github에서 중요한 정보 숨기는 방법(API Key, Bundle, gitignore)
extension으로 plist 불러오는 방법 이전글 [iOS/Swift] 개발 환경에 따라 각각의 다른 plist의 저장된 API Key 값 받아오기 에서도 자세히 다루기는 했지만 이번에는 간단하게 plist 값을 얻는 방법 및 gitigno
ios-daniel-yang.tistory.com
'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 |