[iOS | Swift] 현재 버전, 최신 버전 확인하는 방법

Minji Kim·2021년 12월 8일
0

iOS | Swift

목록 보기
1/13
post-thumbnail
post-custom-banner

주로 설정 화면에 앱의 현재 버전과 앱스토어에 출시된 앱의 최신 버전을 표기한다. 현재 버전과 최신 버전을 어떻게 가져올 수 있는지 알아보자.

1. 현재 버전 가져오기

현재 앱의 버전을 가져오는 함수다.

func getCurrentVersion() -> String {
        guard let dictionary = Bundle.main.infoDictionary,
              let version = dictionary["CFBundleShortVersionString"] as? String else { return "" }
        return version
    }

위의 함수를 이용하면 이렇게 현재 버전을 출력할 수 있다.

print("현재 버전 : \(self.getCurrentVersion())")
// 현재 버전 : 1.1.0

2. 최신 버전 가져오기

최신 버전을 확인하려면 먼저 해야 할 일이 있는데, App Store Connect에 있는 앱의 Bundle ID를 알아와야 한다.
[본인 앱 → 앱 정보 → 일반 정보 → 번들 ID]

그리고 아래 함수가 최신 버전을 가져오는 함수인데, 두 번째 줄의 번들 ID 부분에 본인이 복사한 번들 ID를 붙여 넣는다.

번들ID가 포함된 URL을 브라우저 주소창에 넣어보면 json 파일이 나타날텐데, 이 파일은 현재 앱스토어에 있는 본인 앱의 정보다.

json 파일에서 version을 검색해보면 정확히 한 개가 나오는데 그게 최신 버전이다.

func getUpdatedVersion() -> String {
        guard let url = URL(string: "http://itunes.apple.com/lookup?bundleId=번들ID"),
              let data = try? Data(contentsOf: url),
              let json = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any],
              let results = json["results"] as? [[String: Any]],
                  results.count > 0,
            let appStoreVersion = results[0]["version"] as? String else { return "" }
        return appStoreVersion
    }

따라서 위의 코드는 JSON을 파싱 해서 version 부분만 가져오는 것이다.

결과

이렇게 앱의 현재 버전과 최신 버전을 가져오는 것은 실제로 앱을 개발하는 데 있어 자주 사용된다.

여기서 더 나아가 앱의 현재 버전과 최신 버전이 다를 경우 업데이트하도록 유도하는 구현까지 해보면 좋을 듯 싶다.

💙 참고한 블로그 💙

https://zeddios.tistory.com/372

profile
iOS Developer
post-custom-banner

0개의 댓글