Networking

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

Open Weather site

https://openweathermap.org

API 키 숨기는 방법

  1. Plist 파일 생성

  1. git ignore 설정

  1. key 딕셔너리 생성

  1. Bundle extension 작성

네트워킹 코드 작성

Model 정의하기

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

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

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는 포함되면 안 된다
  • 다시 포함시키고 싶을 때

출처: 나른한 코딩

Last updated