티스토리 뷰
api key를 git에 노출시키지 않도록 하는 방법입니다.
1. api key를 config에 담아주고
2. config파일을 gitignore추가하여 git에 업로드 되지 않도록 합니다.
우선 1. api key를 config에 따로 빼기입니다.
config 파일을 생성해줍니다.
저는 Secrets으로 이름을 지어줬습니다.
파일 위치는 root 바로 밑에 위치시켜줍니다.
그러고 내부에 Secrets.xcconfig 내부에 API_KEY = ~~ 작성해줍니다.
이렇게 뒤에 api key를 적어주고,
Secrets.xcconfig 파일을 사용할 수 있도록 Project Info에 Secrets 파일을 추가합니다.
Configurations > Debug, Release에 Secrets를 추가해줍니다.
(Debug는 디버깅용, Release는 배포용)
배포 안할거라 Debug에만 Secrets.xcconfig를 추가해주었습니다.
또 screst.xcconfig의 변수 API_KEY를 사용할 수 있도록 info.plist 에도 추가해줍니다.
Key값 "API_KEY"에
Value값 $(API_KEY) 추가
이제 내부에서 사용해볼게요.
뉴스API를 가져오는 URLSession에서 api key를 가져와 fetch data해보겠습니다.
guard let apiKey = Bundle.main.object(forInfoDictionaryKey: "API_KEY") as? String else { return }
이렇게 해주면 api key를 가져올 수 있습니다.
api key가 잘 나오나 Unit Test로 test
초록 버튼 눌려주면
이렇게 api key를 출력하는 모습.
여기까지 xcconfig에 담아주고 내부에서 잘 사용되도록 해주었습니다.
이제 git에 올라가지않도록 해줍시다.
2. git ignore를 적용할 차례입니다.
터미널에서 vi .gitignore로 gitignore를 추가하고,
.gitignore 안에 *.xcconfig를 작성해줍니다.
:wq로 vi 편집기를 저장해줘요.
그럼 이제 .gitignore가 추가되었습니다.
ls 명령어로 .gitignore이 안보이신다면 ls -a 해주면 보입니다.
git에 .gitignore 파일만 먼저 추가해줄게요
git add .gitignore
git commit -m "gitignore 추가"
git push
하면 .gitignore 추가가 끝났습니다.
그러고 git add . 이후
git status로 staging 영역 확인하면
Secrets.xcconfig 파일이 추가 되지 않는 것을 확인 할 수 있습니다.
끝!!
혹시 git status 했는데 Secrets.xcconfig가 있다면?
+
Q) .gitingore가 적용이 안되고 자꾸 .xcconfig 파일을 포함시켜요.
A) git rm -r --cached . 해서 git의 cache를 제거해주면 됩니다.
감사합니다!
- Total
- Today
- Yesterday
- swift queryitem encode
- llm pdf rag
- rag 기반 llm
- deep timer
- focus timer 어플
- swift urlsession 공통화
- 레디세이 어플
- swift 엑셀 읽기
- swift urlcomponent encode
- 엔디소프트 레이세이
- swift filemanager get excel
- rag 기반 llm 챗봇
- swift network module
- rag llm pdf
- llm csv
- swift filemanager excel
- swift get excel
- 레디세이
- swift urlsession module
- swift 자간
- swift urlsession refactoring
- swift network 공통화
- chatgpt rag llm
- readysay
- swift 엑셀 가져오기
- swift excel read
- filemanager excel read
- swift network refactoring
- swift urlsession network module
- swift 네트워크 모듈화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |