본문 바로가기

전체 글

(62)
Mobile Deep Link - 모바일 딥링크 용어가 헷갈려서 정리하는 글.. http 혹은 https로 시작하는 인터넷 주소는 모두 특정 웹 페이지로 이동을 하는데, DeepLink는 모바일 앱에서 위와 유사한 기능을 한다. Mobile Deep Link URI Scheme 방식 - 앱에 URI Scheme을 등록하여 딥링크 사용 App Link: Android 제공 - 도메인 주소를 이용한 딥링크 사용 Universal Link: iOS 제공 - 도메인 주소를 이용한 딥링크 사용 URI Scheme 방식 가장 일반적으로 사용되는 딥링크 방식 앱에 scheme값을 등록하는 형태로 앱을 구분 scheme scheme → 앱을 특정 Path → 앱 내 페이지를 특정 만약 트위터 앱을 오픈하고자 한다면 twitter:// 라는 스킴 값을 이용하면 된다...
[Apple Video Study] Build localization-friendly layouts using Xcode Link Build localization-friendly layouts using Xcode - WWDC 2020 - Videos - Apple Developer 이번거는 한글로.. 번역할 생각을 안함^^.. 나중에 수정하기~_~ Design best practices Avoid fixed widths or frames Avoid fixed spacing Allow multiple lines of wrapped text Do not place too many controls in a fixed space Useful tools Document preview lets you preview UI immediately Scheme options to test in specific language, inclu..
[WWDC Video Study] Widgets Code-along Link Widgets Code-along, part 1: The adventure begins - WWDC 2020 - Videos - Apple Developer Widgets Code-along, part 2: Alternate timelines - WWDC 2020 - Videos - Apple Developer Widgets Code-along, part 3: Advancing timelines - WWDC 2020 - Videos - Apple Developer 실습 내용 있는 깃헙! mini0212/SwiftUIStudy Part 1 Widget이란? SwiftUI로 작성되는 것으로 iOS, iPadOS, MacOS에서 네이티브 뷰를 생성하는 것과 동일한 선언 코드이며, 시간이 지남에 따라 ..
[WWDC Video Study] Make your app visually accessible Link Make your app visually accessible - WWDC 2020 - Videos - Apple Developer 시각적 접근성 시각적 접근성에 대해 생각할 때 iOS에서는 VoiceOver를 많이 생각할 것이다. 근데 생각보다 시각적 접근성에는 훨씬 더 많은 것이 있다. 사람마다 시력은 다르다. 시력이 좋거나, 나쁘거나, 전혀 보이지않을 수도 있고, 색맹, 빛 감도, 움직임 민감도 등 많은 것들이 있다. iOS는 모든 사람이 자신에게 잘 맞는 방식으로 기기를 최대한 활용할 수 있도록 다양한 시각적 접근성 설정을 제공한다. Color and Shape 특정 UI 요소를 강조하려면 어떻게 할까? 는 많이 고민하는 문제들이다. 하지만 색을 통한 강조는 색맹이거나 시력이 낮은 사람들에..
[WWDC Video Study] Making Apps More Accessible With Custom Actions Link Making Apps More Accessible With Custom Actions - WWDC 2019 - Videos - Apple Developer 사용자 지정 작업은 두 가지에 매우 적합하다. 앱의 잡동사니를 줄이는 것 → 보조 기술을 사용하는 사용자에게 특히 중요 앱에서 보다 복잡한 상호 작용의 편의성과 속도를 개선하는 것 잡동사니를 줄여보자 Voice Over Voice Over는 시각장애인과 저시력을 가진 사람들을 위해 많은 제품에 내장된 스크린 리더이다.(스와이프를 통해 이동 가능하다.) 위의 땅콩버터 리스트 앱에서 GIFF의 등급을 올리려면 어떻게 해야할까? 찾고있는 병을 찾을 때 까지 아래의 리스트를 눈으로 보고 찾을 것이다. 왜냐, UI를 논리적으로 묶어 직관력을 제공해주기..
[Swift] 배열 index 조회 및 삭제하기 배열(정확히는 Collection)에서 값을 조회하는 방법을 알아보자. firstIndex(of:) 는 배열의 앞에서부터 조회해서 첫번째 일치하는 값의 index를 반환한다. lastIndex(of:) 는 배열의 뒤에서부터 조회해서 첫번째 일치하는 값의 index를 반환한다. var arr: [String] = ["일번", "이번", "삼번", "사번", "이번", "육번"] if let firstIndex = arr.firstIndex(of: "이번") { print(firstIndex) // 1 } if let lastIndex = arr.lastIndex(of: "이번") { print(lastIndex) // 4 } 반환된 값은 Int? 이다. (조회했을 때 일치하는 값이 없을 경우가 있기때문에 ..
[RxSwift] Combining Operator startsWith Observable 시퀀스 앖에 다른 값 하나를 추가해준다 let disposeBag = DisposeBag() let numbers = Observable.of(2,3,4) let observable = numbers.startWith(1) observable.subscribe(onNext: { print($0) }).disposed(by: disposeBag) // 1 // 2 // 3 // 4 concat startWith와 비슷하다. startWith는 하나의 요소가 맨 앞에 추가되지만, concat은 여러 개의 요소가 앞 뒤로 추가 가능하다. let first = Observable.of(1,2) let second = Observable.of(4,5) let observab..
[RxSwift] Transforming Operator toArray completed가 된 시점 까지의 데이터를 array로 바꿔서 emit한다. Observable.of(1,2,3,4,5) .toArray() .subscribe(onSuccess: { print($0) }) // [1, 2, 3, 4, 5] 영상에는 .toArray()가 Observable인데 RxSwift 5.0부터는 Single로 바뀐 듯 하다. 그래서 .subscribe(onNext: ) 가 안됨.. map swift에서 사용하는 map과 같다. 다른 것이 있다면 observable하게 작동한다는 점? Observable.of(1,2,3,4,5) .map { return $0 * 2 }.subscribe(onNext: { print($0) }).disposed(by: disposeB..