티스토리 뷰
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 엑셀 읽기
- swift excel read
- focus timer 어플
- swift urlsession module
- swift urlsession 공통화
- swift urlsession refactoring
- rag 기반 llm
- filemanager excel read
- swift urlcomponent encode
- rag llm pdf
- rag 기반 llm 챗봇
- swift queryitem encode
- google timer application
- swift network refactoring
- swift get excel
- swift urlsession network module
- llm pdf rag
- swift 엑셀 가져오기
- 타이머 어플
- swift 자간
- 구글 타이머 어플
- swift network module
- llm csv
- swift filemanager excel
- google timer 어플
- swift network 공통화
- swift filemanager get excel
- deep timer
- chatgpt rag llm
- 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 |