
오늘은 CoreData에 대해서 CoreData가 무엇인지,CoreData의 특징과 이를 활용한 CRUD까지 다뤄볼 예정이다. ✏️ CoreData 란? CoreData는 apple이 제공하는 iOS 자체에서 데이터를 저장할 수 있도록 하는 프레임워크이다. 데이터베이스가 아닌, 데이터 모델링과 영속성 관리를 위한 프레임워크로 Swift에서 데이터를 쉽게 저장할 수 있도록 해주는 도구이다. CoreData는 iOS 버전 3 이상부터 사용할 수 있으며, 오래전에 나왔고 아직도 사용되고 있는 프레임워크이다. 위 사진은 CoreData의 Stack을 보여주는 구조이며 CoreData의 구조는 4가지로 분류할 수 있다.최상위 컨테이너인 Persistent Container 는 model, context..

이전 블로그 포스팅에서 CreateML로 데이터를 학습시키는 과정을 알아봤었다! [WWDC] CreateML에 대해서 알아보기iOS이나 mac OS 관련 개발을 할 때 인공지능이나 머신러닝 기능을 탑재하고 싶은데 어떻게 해야 할까?파이썬 코드를 하나하나 다 개발해서 프로젝트에 적용하지 않아도 CreateML이라는 프레임워크를yanni13.tistory.com 그래서 오늘은 학습된 모델을 어떻게 디바이스에 적용시켜 볼건지를 공부해 보자. 📚 CoreMLCoreML 이란 apple의 온디바이스 머신러닝 프레임워크로 iOS, MacOS, watchOS 등에서 머신러닝 모델을 실행할 수 있도록 도와주는 도구이다. apple 공식문서에서는 CoreML이 CPU, GPU, Neural Engine을 활용하여..

iOS이나 mac OS 관련 개발을 할 때 인공지능이나 머신러닝 기능을 탑재하고 싶은데 어떻게 해야 할까?파이썬 코드를 하나하나 다 개발해서 프로젝트에 적용하지 않아도 CreateML이라는 프레임워크를 통해 모델을 훈련하고 프로젝트에 직접 적용할 수 있다 따라서 오늘은 apple의 firstparty인 CreateML에 대해서 알아보고WWDC 2024에서 발표한 CreateML에 새로 추가된 내용까지 알아보도록 하자. 📚 CreateML createML이란 apple에서 제공하는 firstparty인 머신러닝 모델 생성 도구로 별도의 코딩 없이 쉽게 모델을 훈련하고 평가할 수 있는 도구이다. 기본적으로 Mac OS에서 사용할 수 있지만 Core ML 모델을 통해서 iOS, watchOS, MacOS..

iOS로 개발을 어느 정도 해보았다면 DispatchQueue에 대해서 잘 알고 있을 것이다. @MainActor이랑 DispatchQueue모두 메인 스레드에서 작업을 하도록 하는 건데, 둘의 개념을 간단하게 살펴보고 차이를 알아보고자 한다. 📚 들어가기 전iOS에서는 UI 관련 이벤트나, 주요 작업이 항상 메인 스레드에서 실행되어야 한다. 왜냐하면 UIKit이나 SwiftUI가 싱글스레드 환경에서 작동하도록 설계되었기 때문이다! 그럼에도 불구하고 여러 스레드에서 UI관련 이벤트들을 실행했을 땐 싱글 스레드 환경이 아닌 멀티 스레드 환경에서 동시에 접속을 하는 것이기 때문에 데이터가 충돌하여 제대로 된 데이터가 표시되지 않거나, UI가 깨져 원하는 UI가 표시되지 않을 수도 있다. 따라서 어떤 작..

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

📚 딥링크란?딥링크란 모바일 앱의 특정화면이나 콘텐츠로 직접 이동할 수 있도록 해주는 링크이다. 예를 들면 카카오톡에서 채팅이 왔을 때 푸시알람을 통해 특정 채팅방으로 바로 이동할 수 있도록 하는 것이나 특정 푸시알람을 클릭했을 때 해당 앱으로 접속하도록 하는 동작이다. 딥링크를 구현하는 방법은 보통 FireBase의 Dynamic Links, URL Scheme, Universal Link 정도가 있는데 파이어베이스에서 제공하는 Dynamic Links는 지원이 중단 됐으므로 URL Scheme와 Universal Links에 대해서 알아보겠다. URL SchemeURL Scheme는 Xcode에 URL types를 등록하여 사용하며 가장 기본적인 딥링크 방식이다. 이 기능을 사용하려면 앱이 설..

🚨 문제상황Xcode 15.3 + iOS 18.2에서 scrollview 내부에 gesture가 있으면 스크롤 뷰가 먹히지 않아 화면이 스크롤되지 않는 버그가 존재하는 걸 발견했다. 구글링 해서 찾아보니 xcode 버그 같긴 한데 testflight로 배포된 핸드폰에선 또 잘 작동하고, iOS 17.5 버전의 시뮬레이터는 잘 작동되었다,,(왜 18.2만 안되는 거지) 문제가 되는 코드는 아래와 같다..gesture( DragGesture() .onChanged { value in withAnimation { if value.translation.width 위에 작성된 코드는 스와이프 기능 자체적으로 custom 하여..

이전 블로그에서 RxSwift와 Combine에 대해 각각 공부해 보다가, RxSwift와 Combine이 거의 동일한 개념이라는 생각이 들었다. 그래서 오늘은 두 기술의 차이점을 중점으로 비교해보고자 한다. RxSwift [iOS] RxSwift 알아보기 (1)개발을 하다 보면 비동기 이벤트를 많이 다루게 된다. 버튼을 눌렀을 때나,api 호출을 했을 때 응답을 받아올 때 이외에도 여러 가지 기능에서 비동기 프로그래밍이 필요하다. 이 비동기 프로yanni13.tistory.com RxSwift에 대한 개념설명과 예시는 따로 포스팅한 적이 있기 때문에 간략하게 이번 포스팅에서는 간략하게 알아보고 넘어가도록 하겠다. RxSwift란 비동기 프로그래밍과 이벤트 기반 프로그래밍을 쉽게 할 수 있도록 도와..
- Total
- Today
- Yesterday
- closure
- 프로그래머스
- ios
- CustomCalendar
- 16173
- 병합충돌
- pbxproj
- mergeconflict
- combine
- 백준
- CoreData
- UIKit
- LazyVGrid
- SWIFT
- rxswift
- MainActor
- Xcode
- 스위프트
- mlmodel
- 클로저
- securefield
- swiftUI
- Fastlane
- ObservableObject
- 둘만의 암호
- 코딩테스트
- ScrollViewReader
- imagepicker
- 가장가까운같은글자
- XCTest
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |