스파르타 코딩 클럽 ☝🏻 - 개발일지 4

DaY·2021년 7월 12일
1

스파르타코딩클럽

목록 보기
9/37
post-thumbnail

과제 Github

화면 구성

Image - 고양이 이미지 로드
Button - 새로고침 버튼

App Transport Security Settings

Info.plist 파일에 App Transport Security Settings를 추가하고 Allow Arbitrary Loads를 YES로 선택 후 추가

애플은 iOS 9부터 무분별한 http 통신 사용을 지양하고, https 통신을 유도하기 위해 기본값으로 앱에서 http 통신을 막아두었다.
따라서 http 통신을 사용하는 API는 보안 설정이 필요하다.

Library

  • Almofire : 네트워크 라이브러리
  • SwiftyJSON : 서버의 결과로 받은 JSON 데이터를 Swift에서 사용할 수 있도록 해주는 라이브러리
  • SDWebImage : 웹에 있는 이미지를 이미지 뷰에 간편히 넣어주는 라이브러리

Code

API에 데이터 요청(GET) 후 이미지 URL 추출 및 로드

func setImage() {
    AF.request("https://api.thecatapi.com/v1/images/search").responseJSON {
        if let json = $0.value {
            let data = JSON(json)
            let image = data.arrayValue[0]["url"]

            self.catImage.sd_setImage(with: URL(string: image.stringValue), completed: nil)
        }
    }
}

결과

소감

API 통신 및 URL을 이미지로 가져오는 것 모두 라이브러리를 사용해서 구현했다.
라이브러리를 잘 사용하지 않았고, 또 사용하더라도 cocoaPod만 사용해 라이브러리를 추가했기에 다른 방식들은 잘 몰랐었다.
수업을 통해서 세 가지의 라이브러리를 추가하는 방식을 알게된 것과 그 중 한 가지를 사용할 수 있어서 좋았다.
하지만 라이브러리를 사용해서 구현하는 방식과 사용하지 않고 구현하는 방식 두 가지 모두를 학습할 수 있었으면 더 좋았을 것 같다는 아쉬움도 들었다.

0개의 댓글