Networking

Open Weather API를 이용해서 데이터를 받아옵니다.

Open Weather site

https://openweathermap.orgarrow-up-right

API 키 숨기는 방법

  1. Plist 파일 생성

  1. git ignore 설정

  1. key 딕셔너리 생성

  1. Bundle extension 작성

네트워킹 코드 작성

Model 정의하기

API 문서arrow-up-right를 확인하여 필요한 데이터를 기반으로 모델을 작성한다.

내가 필요한 데이터는 오늘 (현재 온도, 날씨 아이콘) / 주간 (날짜, 최고 최저 온도, 날씨 아이콘)

Network Error 정의

NetworkManager 작성

  • 해당 클래스는 상속이 일어나지 않으므로, final로 작성한다.

  • 클래스 외부에서 fetch request만 작성할 수 있도록 함수를 분리하여 pirvate으로 관리한다.

  • Singleton으로 설계하여 객체가 여러개 생성되는 것을 방지한다.

Trouble Shooting

URL Error

  • 이건 내가 앞에 https://를 붙여주지 않아서 나타난 에러였다.

  • 안전한 도메인인지 확인할 수 없을 때, iOS에서 자체적으로 네트워킹을 제한해서 발생한 문제이다.

    • 만약 해당 도메인을 사용해야한다면, 해당 도메인을 신뢰한다는 설정을 해줘야한다.

    • 검색 키워드: 예외 도메인 ATS(App Transport Security)에 대해 공부해보자.

APIKey GIt ignore 적용 안 됨

  • git status를 통해 확인해봤는데, 분명 git ignore에 있는 파일이 존재함

WeatherApp/APIKey.plist는 포함되면 안 된다
  • 다시 포함시키고 싶을 때

출처: 나른한 코딩arrow-up-right

Last updated