iOS 프로젝트/개인 앱 - 일공이

AppStore) iOS 앱스토어 버전 체크 오류와 Git Flow (feat. hotfix & bundleId)

Dev.Andy 2023. 11. 1. 21:24

목차

    머리말

    문제 발생

    오류 상황

    설정 화면에서 최선 버전을 체크할 때, 최신 버전임에도 업데이트 하기라는 UILabel이 뜨는 문제가 발생했다.

     

    최신 버전임에도 "업데이트 하기"가 뜨는 문제 발생

     

    iOS 앱스토어 버전 체크와 Git Flow

    긴급한 HOTFIX 브랜치 분기

    아래와 같이 `HOTFIX` 브랜치를 만들었다. 앱 개발 하면서 처음으로 HOTFIX를 써 보았다.

    * HOTFIX/check-appstore-version
      develop
    (END)

    URL 요청 테스트 및 수정

    문제) 번들 아이디에 대문자가 포함될 경우

    bundleID가 대문자일 경우

    버전이 아직도 `1.0`인 것을 알 수 있다... (도대체 왜...🥲)

    해결-1) 번들 아이디의 대문자를 소문자로 변경할 경우

    bundleID가 소문자일 경우

    번들 아이디를 소문자로 바꾸면

    해결-2) 번들 아이디가 아닌 애플 아이디로 변경할 경우

     

    코드에서 URL 수정 (번들 아이디 및 애플 아이디)

    enum Constants {
        enum LinkUrl {
            enum AppInfo {
                static let itunesBundleID = "https://itunes.apple.com/lookup?bundleId=com.andyarchive.oneotwo&country=kr"
                static let itunesAppID = "https://itunes.apple.com/lookup?id=6470292190&country=kr"
            }
        }
    }

    1. `bundleID=`에서 `OneOTwo`를 `oneotwo`로 수정하였다.

    2. `id=`에서는 쿼리로 country까지 추가하여 version이 나오도록 수정하였다.

     

    URLSession 관련 메서드 수정

    위의 수정한 url를 반영하였다

        private func isLatestAppVersion(completion: @escaping (Bool) -> Void) {
            let urlString = Constants.LinkUrl.AppInfo.itunesAppID
            
            guard let url = URL(string: urlString) else {
                completion(false)
                return
            }
            
            URLSession.shared.dataTask(with: url) { data, response, error in
                DispatchQueue.main.async {
            //...
        }

    로컬 앱 버전과 앱 스토어의 버전 확인 및 비교

    로컬 앱 버전과 앱 스토어의 버전 비교

    Git Branch merge (GitHub Pull Requests)

    GitHub의 PR을 통해 HOTFIX 브랜치를 develop 브랜치로 merge 했다

    #58 (설정 화면) 대소문자에 의해 요청한 앱스토어 버전 문자열이 업데이트 되지 않는 문제 수정

     

    앱스토어 커넥트 심사 제출 (버전 1.1.1)

    아카이빙 후 앱스토어에 업로드하여 1.1.1로 제출하였다 :)

     

    꼬리말

    GitHub 링크

    Issues

    #57 설정 화면에서 앱 최신 버전의 여부가 적절하지 않는 오류 발생 (url 대소문자)

    Pull Requests

    #58 (설정 화면) 대소문자에 의해 요청한 앱스토어 버전 문자열이 업데이트 되지 않는 문제 수정

     

    수정일: 2024-01-02 화