
오늘은 문서 스캔 기능을 개발하기 위해 사용되는 프레임워크인 visionkit에 대해 알아보고이를 프로젝트에 어떻게 적용했는지에 대해 설명하고자 한다. ✏️ VisionKit이란? visionkit는 기기의 카메라를 사용하여 이미지를 인식하여 OCR기능을 활용할 수 있도록 apple에서 제공하는 프레임워크 중에 하나이다.주로 사용자 카메라를 활용하여 문서를 스캔하는 데 사용되거나, 특정 문자를 인식하는 데 사용된다. 이 중에서 나는 문서 스캔에 대한 기능을 구현하고자 하였다. 1️⃣ VNDocumentCameraViewController사용자가 기기 카메라를 통해 문서를 찍었을 때 곧바로 문서를 스캔하도록 하는 기능은 아이폰 유저라면 카메라 앱이나 메모 앱을 통해서 경험해 보았을 것이다.이 기능을 ..

아이폰에서 앨범 및 카메라에 접근할 때 접근권한 팝업에 대해 본 적 있을 것이다!!사용자 개인정보에 함부로 접근할 수 없어 동의를 얻고 구해야 한다. 따라서 접근권한 팝업 띄우는 것을 SwiftUI에서 적용해보려고 한다 1️⃣ Info 파일 권한 설정하기 접근: 프로젝트파일 -> TARGETS -> Info 접근해서 맨 밑에 항목을 클릭하면 +를 통해 항목을 추가할 수 있다 추가해야 하는 파일은 아래의 항목 2개를 찾아서 추가해 주면 된다 카메라 추가 : Privacy - Camera Usage Desciption앨범 추가: Privacy - Photo Library Usage Desciption 2️⃣ 사용방법이제 필요한 곳에 연결해 주면 끝이다! 위에 기능을 사용하는 파일에 꼭 아래 프레임워..

최근에 google analytics를 프로젝트에 적용하면서 pod update를 해야 하는 상황이 있었다근데 pod update를 성공적으로 했는데,, 아래와 같은 오류들이 발생하면서 몇 시간 삽질을 했다 ㅎ 그래서 해결한 과정을 적어보려고 한다! 1️⃣ pod 파일에 들어있는 파일을 찾지 못함 pod update를 했을 뿐인데 위와 같이 경로를 찾지못한다고 나온다..다른 팀원이 했을 때는 잘 됐는데!!!! 해결방법 rm -rf ~/Library/Developer/Xcode/DerivedData/pod deintegratepod update xcode에 파생데이터를 삭제하고 pod을 제거한다음 update를 하겠다는 내용이다.문제는 이걸 해결하고 나니까 다른 오류가 뜬다 ㅎㅎㅎ 2️⃣ Unable ..

오늘은 Custom Week Calendar 구현 과정을 블로그에 기록해 보겠다! 진행하고 있는 프로젝트에서 주간 캘린더를 만들어야 하는데 기존 iOS에서 제공해주는 DatePicker를 사용하기엔 UI를 변경해야 하고, 기능적인 부분도 추가해야 했기에 그냥 커스텀 캘린더로 구현하였다. 디자인 팀 요구사항처음 주간 캘린더 화면에 진입하게 될 시 오늘 날짜를 기준으로 포커싱 맞춰주기소비내역이 없는 날과 소비내역이 있는날의 글자색과 배경색이 달라져야 함현재보다 미래 날짜에 대해선 선택 불가능 하도록 (클릭해도 아무런 액션 x) 기능 구현전체 적인 주간 캘린더를 커스텀 하는 건 다른 블로그를 참고했다.그래서 지금 포스팅하는 건 위 디자인팀 요구사항을 충족시키는데 필요했던 과정들에 대해서 설명해보고자 한다!..

오늘은 ScrollViewReader에 대해 알아보자 먼저 ScrollView와 ScrollViewReader는 무엇이 다른걸까?? ScrollView 스크롤 뷰는 단순히 스크롤 할 수 있는 뷰를 의미한다!그래서 스크롤이 가능한 뷰에 사용하고 싶을 때 사용하면 된다. ScrollViewReader 반면 ScrollViewReader는 현재 스크롤링을 감지하여 자동으로 스크롤되어 필요한 포인트로 위치 변경해주는 기능이 있다 하위 View, ScrollView를 스크롤하기 위해 Proxy라는것과 함께 작업할 수 있도록 프로그래밍 방식의 스크롤을 제공하는 뷰이다.ScrollViewReader를 사용하려면 내부 뷰가 ScrollView로 감싸져있어야 한다. -> ScrollViewReader를 사용한다고 S..

오늘은 상태 관리하는 방법 중 하나인 EnvironmentObject에 대해 알아보고자 한다. EnvironmentObject란? 애플공식문서에서는 EnvironmentObject를 부모 뷰나 조상뷰에서 observable object 타입으로 제공하는 프로퍼티라고 한다. SwiftUI에서 전역으로 상태를 관리하며 데이터 공유 메커니즘 중에 하나이다!앱에서 하나의 데이터를 여러 뷰에서 사용할 때 유용하며, observedObject로 하나의 값을 하위 뷰에 계속 전달전달전달 하는 방식이 아니라 상위 뷰에서 새로운 인스턴스를 한번 생성하고 하위 뷰에서 데이터 값에 접근하도록 하는 구조이다! 사용방법공유할 데이터를 가진 클래스는 @ObservableObject 프로토콜을 채택하고 있어야 하며, 관찰 가능..

오늘 다뤄볼 주제는 iOS앱에서 데이터를 저장하는 방법에 대해서 다뤄볼 것이다.스터디에서 가져온 질문은 아래와 같다~ 1️⃣ iOS 앱에서 데이터를 저장하는 방법에는 어떤 것들이 있나요? 앱에서 데이터를 저장하는 방법에는 여러가지가 있다. 👉🏻 UserDefaults, KeyChain, Core Data, SQLite, CloudKit, File Manager 등등여러가지 방법이 있는데 어떻게 데이터를 저장하고 관리할껀지에 따라 적절하게 선택해주면 된다. 아래에서 다루지 않는 CloudKit이랑 File Manager에 대해 잠깐 설명하고 넘어가겠다! CloudKitCloudKit은 Apple이 제공하는 클라우드 서비스 프레임워크이며 iCloud 서비스를 사용하여 데이터를 클라우드에 저장하고 동..

프로젝트하다가 마주한 버그.. 처음 마주보는거기도 했고 어떻게 해결해야 할 지 몰라서 당황했었는데!!!!!! 어떻게 해결했는지 남기고자 한다. 오류 빌드해서 비밀번호를 입력하고 보면 이런 에러가 시뮬레이터에 뜨면서 콘솔창에 키체인을 연결하라고 뜬다. textfield를 NewPassword로 해보기도 했고 여러 시도를 해봤는데 근본적인 이유는 키체인을 연결하지 않아서 입력할 때 마다 오류가 났던것이다. 하지만 키체인을 연결해도 빌드할 때 마다 비밀번호 입력필드를 입력하려하면 원치 않는 키보드가 올라오는 현상이 나타났다. 여러가지 방법을 찾아보다가 공감되서 캡쳐해놨던 사진 ㅋㅋ 나도 이문제 때문에 머리 많이 쥐어뜯었는데 . . 아무튼 지금은 해결완료~~~~~ 1️⃣ 해결방법 시뮬레이터를 빌드해서 설정 ->..
- Total
- Today
- Yesterday
- detached task
- group tasks
- ios
- ObservableObject
- SWIFT
- unstructed task
- UIKit
- 코딩테스트
- combine
- securefield
- rxswift
- 프로그래머스
- imagepicker
- 클로저
- mergeconflict
- Task
- CoreData
- closure
- XCTest
- Xcode
- foundation models
- 백준
- Fastlane
- asyne-let
- swiftUI
- 스위프트
- wwdc25
- 병합충돌
- 16173
- mlmodel
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |