분류 전체보기 149

기상청 단기예보 API 사용 정리

공공 데이터 포탈 : https://www.data.go.kr/index.do 단기예보 : https://www.data.go.kr/iim/api/selectAPIAcountView.do 1. 공공데이터 포탈에서 “단기예보” 검색 (Open API) 2. API 활용 신청 API 활용 신청하여 개인 인증키를 발급 받아야 된다. 심의 여부는 자동이기 때문에 빠르게 승인된다. API 신청 시 필요로 하는 기상 정보를 확인 후 해당 정보가 들어있는 기능을 신청하면 된다. 3. 개인 인증키 확인 마이페이지 → 데이터활용 → Open API → 활용신청 현황 API 활용 신청이 승인되면 개인 인증키가 발급된 것을 확인할 수 있다. 4. 미리보기 기능 개인 인증키 발급 후 미리보기 기능을 실행할 수 있다. Serv..

카테고리 없음 2024.04.07

Swift - Core Location 프레임워크

Core LocationiOS 및 macOS 앱에서 위치 관련 서비스를 활용할 수 있는 프레임워크iPhone Device의 위치 정보를 얻을 수 있는 기능을 제공하는 프레임워크 (지리적 위치, 고도 및 방향)이를 통해 위치 데이터를 쉽게 얻을 수 있으며 사용자의 위치, 이동 경로, 근접 지점 등 다양한 기능 구현 가능Wi-fi, GPS, Bluetooth 등을 이용하여 정보를 모음위치 정보를 사용하기 이전 꼭 사용자에게 위치 정보를 사용할건지 물어야 됨!→ Info.plist에서 위치 권한 허용 (필수 작업)Key 값을 Info.plist에 추가    1. CLLocationManger필수 사용 클래스위치 관리자 객체로, 위치 데이터를 수집하고 관리하는 핵심 클래스위치 관리자는 사용자의 위치 업데이트 요..

Swift 2024.03.03

네이버 지도 SDK 사용 (SwiftUI)

네이버 지도 SDK를 사용하기 위해서는 네이버 클라우드 플랫폼에서 제공하는 ID를 발급받고, 발급 ID를 SDK에 지정해야 함 지원 OS 버전 : iOS 버전 9 이상부터 사용 가능 1. 클라이언트 ID 발급 1-1. 네이버 클라우드 플랫폼에 로그인 후 콘솔에 들어감 (https://www.ncloud.com/) → 네이버 로그인 진행 1-2. Products & Services에서 AI-Application Service 하위의 AI-NAVER API 선택 1-3. Application 등록 선택하고 Maps 하위의 Mobile Dynamic Map 체크 선택하지 않으면 인증 실패 오류 (429) 발생 → 결제 수단 등록 후 진행! 1-4. iOS Bundle ID 등록 네이버 지도 SDK를 사용하고자..

SwiftUI - 리스트와 내비게이션

리스트 UIKit의 TableView 클래스와 비슷한 기능 셀에 포함된 하나 이상의 뷰의 각 행을 수직 방향의 목록으로 정보 표현 List 구현체 var body: some View { List{ Text("Wash the car") Text("Vacuum house") Text("Pick up kids from school bus @ 3pm") Text("Aucion the kids on eBay") Text("Order pizza for dinner") } } 여러 컴포넌트를 조합해서 셀에 표시 가능 리스트의 각 행을 HStack 안의 이미지와 텍스트 컴포넌트 조합으로 구성 List{ HStack{ Image(systemName: "trash.circle.fill") Text("Take out the..

SwiftUI 2024.02.21

SwiftUI - 스택 정렬과 정렬 가이드

컨테이너 정렬, 정렬 가이드, 커스텀 정렬, 서로 다른 스택들 간의 정렬 구현까지 스택 정렬의 고급 기술 설명 컨테이너 정렬 스택 사용 시 가장 기본적인 정렬 방법은 컨테이너 정렬 스택에 포함된 하위 뷰들이 스택 내에서 정렬되는 방식을 정의함 ‘암묵적으로 정렬되었다’ 스택에 포함된 각각의 뷰에 지정된 정렬이 따로 없어, 스택에 적용한 정렬이 하위 뷰에 적용되는 것 개별적으로 적용된 정렬이 없는 하위 뷰에 상위 뷰의 정렬 방법이 적용되는 것 수평 스택 (HStack) : 하위 뷰를 수직 방향 정렬 수직 스택 (VStack) : 하위 뷰를 수평 방향 정렬 ZStack : 하위 뷰를 수평/수직 방향 정렬 세 개의 하위 뷰를 포함하는 VStack 구성 VStack{ Text("This is some text")..

SwiftUI 2024.02.02

SwiftUI - Observable 객체와 Environment 객체 튜토리얼

ObservableDemo 프로젝트 Observable 객체는 시간이 지남에 따라 반복적으로 변하는 데이터 (동적 데이터)를 래핑할 때 강력함 이런 데이터를 시뮬레이션하기 위해서는 Foundation 프레임워크의 Timer 객체를 사용하여 매 초마다 카운터가 업데이트 되도록 구성하여 Observable 데이터 객체 생성할 것임 이 카운터는 앱 프로젝트 내의 뷰들이 볼 수 있도록 게시 Observable 객체 추가 ObservableObject 프로토콜을 구현하는 데이터 클래스 추가 (New Swift File 생성) TimerData 클래스 import Foundation import Combine class TimerData : ObservableObject { @Published var timeCou..

SwiftUI 2024.01.27

SwiftUI - 슬라이더 뷰(Slider View) 사용

1. 레이아웃에 VStack 추가하기 struct Chap22: View { var body: some View { VStack { Text("Hello, World!") } } } 2. 스택에 슬라이더 뷰 추가하기 라이브러리 패널에서 Slider를 찾아 프리뷰 캔버스에 있는 Text 뷰 위로 드래그 앤 드롭 3. 상태 프로퍼티 추가 슬라이더는 Text 뷰를 회전시킬 총량을 제어하는 데 사용됨 Slider 뷰와 현재의 회전 값을 저장하게 될 상태 프로퍼티 간에 바인딩이 구축되어야 함 상태 프로퍼티 선언 후 0부터 360까지의 범위로 0.1씩 증가되도록 슬라이더 구성 struct Chap22: View { @State private var rotation : Double = 0 var body: some ..

SwiftUI 2024.01.22

SwiftUI - 상태 프로퍼티 (State), Observable 객체, Environment 객체 사용

SwiftUI는 데이터 주도 방식으로 앱 개발을 강조 사용자 인터페이스 내의 뷰들은 기본 데이터의 변경에 따른 처리 코드를 작성하지 않아도 뷰가 업데이트 됨 데이터와 사용자 인터페이스 내의 뷰 사이에 게시자(publisher)와 구독자(subscriber)를 구축하여 가능 이를 위해 SwiftUI는 상태 프로퍼티, Observable 객체, Environment 객체를 제공 이들은 사용자 인터페이스의 모양과 동작을 결정하는 상태를 제공함 SwiftUI에서 레이아웃을 구성하는 뷰는 코드 내에서 직접 업데이트 하지 않음 → 뷰와 바인딩된 상태 객체가 시간이 지남에 따라 변하면 그 상태에 따라 자동으로 뷰 업데이트 됨 상태 프로퍼티 (State Property) 상태에 대한 가장 기본적인 형태 뷰 레이아웃의 ..

SwiftUI 2024.01.15

SwiftUI - 스택, 프레임

스택 VStack(수직), HStack(수평), ZStack(중첩) 형태인 3개의 스택 레이아웃 뷰 제공 스택은 View 파일 내에 하위 뷰들이 스택 뷰에 포함되도록 선언함 3개의 이미지 뷰가 HStack에 포함되는 코드 import SwiftUI struct Stack_20: View { var body: some View { HStack{ Image(systemName: "goforward.10") Image(systemName: "goforward.15") Image(systemName: "goforward.30") } } } VStack 사용 import SwiftUI struct Stack_20: View { var body: some View { VStack{ Image(systemName: ..

SwiftUI 2024.01.13

SwiftUI - 커스텀 뷰 생성

SwiftUI 뷰 뷰 : View 프로토콜을 따르는 구조체로 선언 View 프로토콜을 따르는 구조체는 body 프로퍼티를 가지고 있어야 되며, body 안에 뷰가 선언되어야 함 텍스트 레이블, 텍스트 필드, 메뉴 토글, 레이아웃 매니저 뷰 등 다양한 뷰가 내장되어 있음 각 뷰는 View 프로토콜을 따르는 독립적인 객체 커스텀 뷰의 크기와 복잡성 또는 커스텀 뷰에 캡슐화된 자식 뷰의 개수와는 관계없이, 하나의 커스텀 뷰는 사용자 인터페이스 모양과 동작을 정의하는 하나의 객체 기본 뷰 생성 기본 ContentView import SwiftUI struct ContentView: View { var body: some View { VStack { Image(systemName: "globe") .imageSc..

SwiftUI 2024.01.10