티스토리 뷰

https://world-of-larooly.tistory.com/13

 

AppStore에 올라간 앱 정보(json) 보기

최근 앱을 App Store 에 올리느라 정신이 없었는데 막상 올리고 나서 보니 AppStore 에 올린 앱 정보를 가져올 일이 생겼습니다. 그래서 인터넷을 많이 찾아봤는데 보통 http://itunes.apple.com/lookup?bundleId=

world-of-larooly.tistory.com

안녕하세요!

 

오늘은 드디어!

 

저 위 포스트를 어떻게 사용하는지에 대해 올려볼까 합니다. 

(글 좀 쓰려 하면 꼭 일이 생기네요 ㅠㅠ)

 

참고로 이번 포스트는 정말 기초적인 부분만 다룰꺼라 

 

다음 포스트에는 기상청 api와 관련해서 통신 부분을 올리고 싶은데 언제 올릴지 모르겠네요;;;

 

아무튼

위 포스트에서 앱 기본 정보를 가져올수있는 URL 을 저희는 알고 있습니다. 

바로 아래처럼 쓰는거였죠

- 아래 앱은 한국만 배포되는 앱이기때문에 "/kr" 이 추가되있습니다.

- 각자 자신의 앱에 맞게 "/kr"을 빼거나 넣은 상태로 하시면 됩니다. 

- 해당 URL 을 사용시 몇가지 주의사항이 있습니다. 자세한 건 위 포스트를 참고해주세요.

 let appLink = "https://itunes.apple.com/kr/lookup?id=앱아이디"

 우린 이제 저 링크에서 "version" 만 가져오는 걸 목표로 합시다. 

func getAppStoreVersion() -> String?{
    let appLink = "https://itunes.apple.com/kr/lookup?id=앱아이디"
    let url = URL(string: appLink)!

    let data = try? Data(contentsOf: url)
    if(data == nil){return nil}
    let json = try? JSONSerialization.jsonObject(with: data!) as? [String : Any]
    let results = json?["results"] as? [[String: Any]]
    if(results?.count ?? -1 > 0){
        return results![0]["version"] as? String
    }
    return nil
}

짠!

print( self.getAppStoreVersion())

// 하시면
// 이렇게 Optional("1.0.12") 출력됩니다.

참고로 결과가 nil 이 나오면 통신에 실패했다는 의미이니 주의해야 합니다.

 

기본적으로 제공되는 함수를 사용해 만들었기 때문에

별도의 pod를 추가할 필요가 없습니다. 

 

다음번에는 좀더 자주쓰이는 통신 api 에 대해 올려보고싶네요 ㅎㅎ

 

아직 익숙하지 않으신 분들에게 도움이 되길 바랍니다. 

 

그럼 오늘도 파이팅입니다.

댓글