티스토리 뷰
이번에는 사용자의 지역에 따른 날씨를 가져올 일이 생겨서
한번 만들게 되었는데 저처럼 "이걸 어떻게 해야 하지?" 하시는 분들을 위해 올려봅니다.
참고로 이번 포스트는 따라하시기 전에 준비물이 필요합니다.
(이는 통신 방식에 따라 차이는 있을 수 있습니다.)
*사전 준비물*
1. https://www.data.go.kr/index.do 에서 로그인이 가능한 계정이 필요합니다. (필수)
- 해당 계정으로 기상청 예보 조회서비스를 신청하고 나서 하실 수 있습니다.
- 저 같은 경우 신청까지는 회사에서 다 끝난 상태에서 작업했습니다.
2. Alamofire & ObjectMapper 설치 (pod)
- Alamofire 는 많이 쓰이는 통신용 툴 입니다. 기상청에서 데이터를 가져오기 위해 쓰입니다.
- ObjectMapper 는 Alamofire 에서 온 데이터를 좀 더 쉽게 가공하기 위해 쓰이는 툴입니다.
- 저희는 Alamofire 로 json 형태로 받아 ObjectMapper 로 보기 쉽게 바꾼 후 원하는 형태로 가공해보려합니다.
- ObjectMapper 랑 비슷한 역할을 하는 다른 API를 사용하셔도 무방합니다.
3. GPS 사용자 위치 권한 추가
- 기본적으로 어느 동네 날씨를 가져올껀지 정해야하기때문에 필수로 필요합니다.
- 정확히는 "import CoreLocation" 이거랑 아래 보이시는 권한이 필요합니다.
- 참고로 저렇게 해서 가져오는 위도와 경도를 격자 정보로 변환해서 쓰는 방식입니다.
4. Http 통신 허용
- 해당 API는 Http 와 통신을 하기때문에 권한을 추가해 통신을 허용해주셔야합니다.
이제 한 단계씩 해봅시다.
1. 홈페이지에서 자신의 정보 확인하기
- 아까 준비물에 있던 사이트(https://www.data.go.kr/index.do)로 들어가셔서 로그인 > 마이페이지 로 이동해주세요.
- 이제 저기 하단에 뜨는 서비스를 클릭해보면 아래와 같은 표가 보이실겁니다.
- 해당 표에서 일반 인증키(Encoding)를 미리 변수로 만들어 저장합시다.
let apiKey = "인증키를 넣어주세요"
- 이제 어느 정보를 가져올껀지 정해야하는데 아래 보시다시피 각 정보마다 url 이 달라집니다.
- 통신 URL은 기본적으로 위 "EndPoint"/"각 서비스별 단어" 를 합쳐서 만들면 됩니다.
- 좀더 쉽게 URL 을 확인 하고 싶으시면 옆에 미리보기 버튼 누르시고 URL을 직접 확인하시면 됩니다.
저의 경우 "단기예보조회" 를 사용해보겠습니다.
let apiUrl = "(End Point를 넣어주시면 됩니다.)/getVilageFcst?"
아무래도 다음편에는 해당 URL 에 정보를 추가 하는 단계 가 추가 되어 길이 길어질 것 같네요.
그래서 나눠서 올리도록 하겠습니다.
2편에서는 어떤 정보를 넣고 보낼것인지를 중점으로 다루겠습니다.
2편에서 만나요~
'iOS개발 > Swift 통신' 카테고리의 다른 글
Swift FCM 연결용 AppDelegate (Only Code) (0) | 2022.12.02 |
---|---|
Swift 날씨 api 연결해보기 Only 코드 (0) | 2022.12.01 |
Swift 날씨 api 연결해보기 3단계(완) (0) | 2022.12.01 |
Swift 날씨 api 연결해보기 2단계 (0) | 2022.12.01 |
Swift 앱스토어 버전 가져오기 (0) | 2022.11.30 |