일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- iOS 13.0+
- network
- xcode
- UI
- SWIFT
- Git
- IOS
- ObjC
- TCA
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- test
- uikit
- Alamofire
- combine
- iOS 개발자
- concurrency
- SWIFTUI
- Tuist
- Firebase
- Today
- Total
목록SWIFTUI (6)
iOS 개발 기록
📄목차준비 → 카메라 및 앨범ViewModel VNImageRequestHandlerVNRecognizeTextRequestrequest 실행ViewImage PickerOCRViewCameraView 결과 Reference iOS 11부터 애플이 지원하는 Vision 이라는 프레임워크가 있다. 머신러닝 기능을 활용하여 이미지나 비디오, 얼굴이나 바코드, 텍스트 등을 인식하여 다양한 작업을 수행할 수 있도록 하는 프레임워크다.애플에서 이용해 직접 지원하다보니 빠르고 효율적이며, 무료이다…! 이를 활용하여 이미지에서 텍스트를 인식하는 OCR 기능을 사용할 수 있는데, iOS 16.0부터 드디어 지원 언어에 한국어도 포함이 되었다. 이를 통해 간단하게 이미지로부터 한국어 텍스트를 인식하는 기능을 만들어 보려..
📄목차코드@main App NotificationService 실행 결과 결론 Reference SwiftUI로 넘어오면서 AppDelegate와 SceneDelegate가 중심이 되던 앱의 라이프사이클에 변화가 생겼다. → [SwiftUI]AppDelegate, SceneDelegate 만들기Remote Push Notification의 경우 설정을 AppDelegate에서 해줘야 했는데, 이를 순수하게 SwiftUI의 라이프 사이클에 맞게 변경해보고 싶었다. 아래는 결론 도출을 위해 겪은 과정이다. FCM 을 통해 Remote Notification을 구현하려고 했는데, Firebase나 인증서와 관련된 내용은 생략하고 여기에는 앱의 코드만 작성한다.결론부터 말하자면 그런거 없다.🥲 AppDelega..
📄목차subscribe와 receivesubscribe와 receive의 정의subscribe vs receiveReference subscribe와 receive둘 다 Combine에서 Scheduler를 정하는 인스턴스 메소드이다. 그런데 테스트해보니 둘이 내뱉는 결과가 아예 달랐다. // 테스트를 위한 코드 var cancellable = Set() let publisher = [1, 2, 3].publisher publisher .map{ num in print("map: \(Thread.current)") return num } .subscribe(on: DispatchQueue.global()) .sink(receiveCompletion: { completion in print("complet..
📄목차Combine이란? 왜 Combine? Combine의 구성 요소Upstream, DownstreamPublisherSubscriberCombine이 데이터를 다루는 과정다른 비동기 처리 방법과 비교vs RxSwift vs SwiftConcurrency참고 Combine이란? 이벤트 처리 연산자들을 결합하여 비동기 이벤트들을 원하는대로 처리하기 위한 프레임워크.Publisher 프로토콜을 통해 시간의 흐름에 따른 데이터 핸들링이 가능하다. Subscriber를 통해 값을 전달 받을 수 있으며, Publisher는 Subscriber가 구독하여 값을 요청할 때에만 데이터를 방출한다. 왜 Combine? 높은 가독성 : Combine으로 선언형 프로그래밍이 가능하다.비동기 처리의 일원화 : GCD, K..
📄목차App.swiftdidFinishLaunchingWithOptionsSceneDelegate AppDelegate와 SceneDelegate 사용하기 Reference App.swiftAppDelegate와 SceneDelegateApp.swiftAPNs 나 외부 SDK를 사용할 때에 AppDelegate와 SceneDelegate가 필요할 때가 있다. 그러나 SwiftUI 프로젝트를 만들면 해당 파일들이 아니라 App.swift만 덩그러니 있는 것을 발견할 수 있다. iOS 14부터는 App 프로토콜을 통해 기본 Scene을 구축한다. 여기서 AppDelegate와 SceneDelegate의 흉내를 낼 수 있다. didFinishLaunchingWithOptionsfirebase 초기화나 oAut..
📄목차@State@Binding@ObservableObject이상한 문제 @StateObject (iOS 14.0+)@EnvironmentObjectReference @Statestruct parent: view { @State var isToggle: Bool = true var body: some View { Toggle(isOn: $isToggle) { if isToggle { Text("on") } } } }SwiftUI가 관리하는 프로퍼티 값을 읽고 쓸수 있게 하는 프로퍼티 래퍼@State로 선언된 값이 변경되면 뷰는 변경된 값으로 body를 다시 계산한다. → 뷰는 항상 최신 값을 가진다.isToggle : Bool, $isToggle: Binding 이다. → $isToggle로 받으면 Wr..