WWDC24 Translation API (번역 API)
·
SwiftUI
기존 번역 기능애플은 사용자가 번역 기능을 지원하는 머신 러닝의 혜택을 누리는 등 언어 장벽을 없애기 위해서 많은 시도를 하고 있습니다. 기존에 이런 기능들은 다양한 언어들을 번역할 수 있도록 도와주며 여러 곳에서 제공하고 있습니다.번역 앱에서 Text to Text 와 Image to Text 로 번역하는 기능메시지에서 번역 sheet 를 제공새로운 번역 기능 제공애플은 WWDC24 에서 번역을 지원하는 머신러닝 모델을 사용할 수 있는 API 를 공개하였습니다.모든 번역 API 는 iOS, iPadOS, macOS 에서 지원됩니다. 예를들어 여러 나라의 댓글이 달렸을 때 해당 언어들을 각각 번역하는데 있어서 어려움을 겪을 수 있습니다. 이때 새로운 Translation API 를 사용하게 된다면 쉽게 ..
WWDC20 Data Enssentials in SwiftUI (EnvironmentObject, ObservableObject, ObservedObject, StateObject, AppStorage, SceneStorage, 생명주기)
·
SwiftUI
이번 WWDC 에서는 3가지 토픽에 대해서 다룹니다. SwiftUI 앱에서의 데이터 흐름을 다루는 State 와 Binding 같은 것들을 소개할 예정입니다.데이터모델을 앱에 적용시키는 방법을 다룰 예정입니다.또한 매우 중요한 부분으로 SwiftUI 의 라이프사이클에 대해서도 다룰 예정입니다.  View 를 만들기 전에 생각해야 할 것들SwiftUI 에서 책을 읽을 수 있는 앱의 메인 UI을 만들었다고 가정합니다. UI 를 만들 때 다음과 같은 것들을 생각하고 만들어야 합니다.뷰의 역할에 따라 어떤 데이터 모델이 필요한지? (예를들어 썸네일, 이름, 저자 등)뷰가 데이터를 변경하는지? 데이터가 어디서부터 오는 것인지?, 이것을 "Source of Truth" 라고 합니다.- 궁극적으로 "Source of..
iOS 디자인하기
·
SwiftUI/UI
앱을 좀 더 좋은 방향으로 디자인하기 위해서 정리하는 글입니다 1. 디스플레이iPhone은 중간 크기의 고해상도 디스플레이를 가지고 있어, 선명한 그래픽과 텍스트 표현이 가능합니다.디스플레이가 작지 않기 때문에 화면 요소를 적절히 배치해 사용자에게 직관적이고 명확한 인터페이스를 제공하는 것이 중요합니다.2. 인체공학적 설계사람들은 보통 한 손 또는 두 손으로 iPhone을 사용합니다.가로모드와 세로모드로 기기를 전환하며 사용하므로, 디자인은 두 가지 모드 모두에 맞게 적응해야 합니다.사용자가 기기를 들고 있는 동안 화면에서 30~60cm 정도 떨어진 거리에서 보게 되므로, 이 거리에서 읽기 쉽고 터치하기 쉬운 크기의 인터페이스를 제공해야 합니다.3. 입력 방식iPhone은 멀티터치 제스처를 통해 다양한 ..
SwiftUI - onChange 클로저 내부로 값 변경, 관찰 변경 안될 때
·
SwiftUI/에러해결
SwiftUI 에서는 onChange 를 제공하여 특정 값의 변화를 감지할 수 있습니다  문제 발생이번에는 지도에서 특정 값이 변경되었을 때 sheet를 올라오게 만들기 위해서 onChange 내부에 isPresented 프로퍼티 값을 변경시키도록 코드를 만들었으나 showDetails의 값이 변경되었음에도 불구하고 sheet 가 올라오지 않는 문제를 발견하였습니다. 문제가 되는 코드를 먼저 살펴보겠습니다. 다음은 mapState의 selectedResult 값이 변경되었으면 showDetails 라는 값을 변경시켜 sheet 를 올려보내려는 코드입니다..onChange(of: mapState.selectedResult, { oldValue, newValue in if newValue != nil ..
SwiftUI - MapUserLocationButton 작동 안될 때
·
SwiftUI/에러해결
MapUserLocationButton 를 누르게 되면 현재 자신의 위치로 지도가 이동합니다  문제 인식MapUserLocationButton 를 MapControls 클로저 내부에도 만들어보았고 scope 를 사용하여 클로저 외부에도 만들어 보았으나 버튼이 눌리는 것은 인식이 되나 지도의 내 위치로 이동하지 않는다는 것을 확인하였습니다. 문제 해결 과정이런 문제들을 해결하기 위해서 코드들을 한줄씩 주석 처리하며 문제해결을 시도하였습니다.하지만 주석 처리를 하였지만 그래도 문제가 해결되지 않아 코드를 직접 지우면서 테스트를 진행해본 결과 주석을 safeAreaInset 가 에러의 원인이 되었습니다. 분명 safeAreaInset 내부에 코드는 모두 주석 처리 되어 있었지만 map과 함께 safeAreaI..
SwiftUI - MapKit 에 대한 모든 것
·
SwiftUI
MapKit을 사용하여 지도를 불러와 원하는 기능을 구현할 수 있습니다 간단하게 지도 사용해보기MapKit 을 사용하기 위해서 가장 먼저 MapKit 을 불러와야 합니다.import SwiftUIimport MapKit 지도를 불러오는 방법은 간단합니다. 다음과 같이 Map 만 호출하면 됩니다.- Map 내부에는 Marker(마커) 또는 Annotation(주석) 을 꾸밀 수 있으며 coordinate 는 경도와 위도로 초기화하여 사용됩니다.struct ContentView: View { var body: some View { Map { Marker("San Francisco City Hall", coordinate: cityHallLocation) ..
ytw_developer