본문 바로가기
TIL(Today I Learned)

2024.05.13 Today I Learned

by 승환파크 2024. 5. 13.

API를 자주 사용하다보면 api 키를 입력해서 요청을 보내야 하는데 이 때 api 키는 외부에 유출이 되어서는 안된다. 그러기 위해서 이전에 작성한 TIL 처럼 .gitignore 파일을 사용해서 api키를 안보이게 감출 수 있는데 파일 곳곳에 api키가 존재하면 여러 파일을 숨겨야 하기 때문에 하나의 파일에 api 키들을 저장하고 사용하면 번거로운 작업을 여러번 할 필요 없이 하나의 파일만 숨기면 된다. 이 때 사용할 수 있는게 Property List 를 사용하는 것이다.

 

Porperty List 생성하기

property list를 생성하는 방법은 아주 간단하다. 우선 xCode 에서 프로젝트 폴더를 우클릭 한 후 New File 을 선택한 이후 PropertyList 를 선택해 생성하면 된다.

 

생성이 완료 되었다면 아래의 코드 처럼 생성이 될 텐데 여기서 필요한 api키만 추가하면 된다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
    <dict>
        <key>key 이름</key>
        <string> api키 작성</string>
    </dict>
</plist>

 

이런 식으로 api key를 작성하여 파일을 저정한다.

 

api key 사용하기

이후 저장한 api 키를 사용하기 위해서는 api키가 들어갈 곳에 변수를 하나 생성해서 key를 받아와 작성하면 된다.

class ViewController: UIViewController {
	var apiKey: String {
        get {
            guard let path = Bundle.main.path(forResource: "property List 이름", ofType: "plist"),
                let dict = NSDictionary(contentsOfFile: path) as? [String: AnyObject],
                let key = dict["key 이름"] as? String else {
                fatalError("API Key not found.")
            }
            return key
        }
    }
}

 

이런식으로 key를 받아오면 안전하게 api key를 사용할 수 있다. 또한 하나의 파일로 정리하여 .gitIgnore 에서도 여러번 작업할 필요 없이 하나의 파일만 처리하면 간편하게 키 유출 걱정을 할 필요가 없어진다.

'TIL(Today I Learned)' 카테고리의 다른 글

2024.05.16 Today I Learned  (0) 2024.05.16
2024.05.14 Today I Learned  (0) 2024.05.14
2024.05.10 Today I Learned  (0) 2024.05.10
2024.05.09 Today I Learned  (0) 2024.05.09
2024.05.07 Today I Learned  (1) 2024.05.07