그 ① Swift OpenWeatherAPI 날씨 정보 API를 취득해 표시

3774 단어 JSONSwiftAlamofireapi
API 정보를 JSON 식으로 표시하면보기 쉽고 편안합니다!
이번은 「OpenWeather」의 API(무료)를 사용한 코드를 써 보았습니다.

제작 이유
"내일 비가 내리기 때문에 복장은 ~, 교통 수단은 ~"등과 같은 날씨에 따라 제안을 전날에 통지 해 주면 편리하다고 생각하고, 날씨 API와 사용자 통지를 조합한 IOS 앱을 제작 하기로 결정했습니다.

환경
Swift 버전 5.3
Xcode Version 12.0.1 (12A7300)

목적
1. OpenWeather API를 위치를 지정하고 취득, 날씨 정보 표시
2. 현재 시각뿐만 아니라 다음날의 날씨 정보도 마찬가지로 취득&표시할 수 있도록 한다
3. API로 내장한 날씨 정보를 사용자 통지로 전날에 통지할 수 있도록 한다

절차
① Podfile에 추가: Alamofire와 SwiftyJSON 라이브러리 다운로드
② workspace에서 xcode를 열고 Alamofire, JSON 라이브러리를 가져옵니다.
③ 지역별 날씨 정보를 얻을 수 있도록 코드를 쓰고 피커로 동적으로 표시할 수 있도록 한다

그럼 조속히 걸어 갑시다!

① Podfile 재작성
먼저 Xcode를 열고 앱을 만듭니다.
우선 이름을 붙이기만 하면 됩니다.

그런 다음 Finder에서 방금 만든 앱의 폴더에 액세스하여 해당 폴더의 Podfile을 엽니다.


Podfile을 다시 작성할 수 있으므로 다음 두 줄을 추가합니다.
 pod 'Alamofire', '~> 5.2'
 pod 'SwiftyJSON', '~> 4.0'  

숫자는 버전 이름이므로 순차적으로 최신 버전을 다운로드하는 것이 좋습니다.

Alamofire의 최신 소스 코드 : htps : // 기주 b. 코 m / 아모 모후 레 / 아 아 모 후레
SwiftyJSON의 최신 소스 코드 :
htps : // 기주 b. 코 m / 슈 fty J 쏘 / 슈 fty J

위 링크의 GitHub 소스 코드에서 최신 버전을 확인하세요.

Alamofire의 최신 버전


SwiftyJSON의 최신 버전

※상기는 2021년 1월 시점에서의 최신 버전입니다

② workspace에서 xcode를 열고 Alamofire, JSON 라이브러리를 가져옵니다.

여기에서 Xcode에서의 작업입니다.
Finder에서 workspace를 열어야하므로 아래 스쿠쇼 거리에서 열어야합니다.
* 프로젝트에서 열면 가져온 라이브러리를 사용할 수 없기 때문에


다음으로 API를 얻는 Swift 파일에 다음 두 문장을 씁시다.
  import UIKit
+ import Alamofire
+ import SwiftytJSON

storyboard에 component에서 최소한의 기능(textField와 button)을 드래그 앤 드롭하여 제약을 설정합시다.

API 정보를 정확하게 얻을 수 있는지 터미널에서 확인합니다 (사전에 브라우저에서도 확인)
let apiKey = "(あなたのAPIキーをStringで書いてください)"
func getWeather(){
let baseURL = "https://api.openweathermap.org/data/2.5/
weather?appid=\(apiKey)&q=tokyo"
print baseURL
}

이상의 코드로 도쿄의 날씨 정보의 API를 취득할 수 있었는지 터미널에서 확인할 수 있습니다
취득, 혹은 빌드할 수 없는 경우는, ①URL의 실수, ②APIKey의 실수, ③넷에 연결되어 있지 않은, 어떤 것이 원인이므로 체크합시다.

이상 API의 취득에 대해서였습니다.
계속은 Storyboard에서의 작업이 됩니다!

좋은 웹페이지 즐겨찾기