본문 바로가기

분류 전체보기72

Tuist & XCode Cloud, ‘tuist’: Invalid manifest 에러 처리 Tuist 실행을 위한 - ci_post_clone.sh 스크립트 적용 후 에러 메시지에러 메시지::exclamation:️tuist installResolving and fetching plugins.Plugins resolved and fetched successfully.Resolving and fetching dependencies.error: ‘tuist’: Invalid manifest (compiled with: [“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc”, “-vfsoverlay”, “/Volumes/workspace/tmp/TemporaryDirectory.jw.. 2025. 7. 6.
KeyPath를 이용한 CoreData NSPredicate 조작어 제작 문제 상황 - Repository에서 직접 CoreData Entity에 접근함NSPredicate에 조건을 걸어서 값을 가져와야만 하는 요구사항 발생✅ 앱에서 동작하는 엔티티(순수하게 동작에 사용하는 데이터)와 CoreData에서 사용하는 엔티티(DB Column과 비슷하다…)를 다른 타입으로 사용하고 있다…특정 날짜에 얼마나 유저가 타이머를 사용한 기록을 가져오고 싶은 요구사항class TimerRecordRepository { ... /// 오늘 기록 아이템들 반환 func get(day: Date) async throws -> [TimerRecordItem] { let predicate = NSPredicate(format: "recordCode == %@", .. 2025. 5. 12.
Swift KeyPath Expressions Key-Path Expressions | Apple Developer DocumentationUse key-path expressions to access properties dynamically.developer.apple.comKeyPath Expressions API?키 경로 표현식을 사용하여 프로퍼티에 동적으로 액세스하기말이 너무 어렵다… 코드를 보는게 이해가 더 쉬웠다.struct SomeStructure { var someValue: Int // -> 이게 프로퍼티}let s = SomeStructure(someValue: 12)let pathToProperty = \SomeStructure.someValue // 이게 표현 식let value = s[keyPath: pathToPrope.. 2025. 5. 9.
#1 CloudKit + CKSyncEngine - 기본 개념 CKSyncEngine | Apple Developer DocumentationAn object that manages the synchronization of local and remote record data.developer.apple.comWhat is CKSyncEngine??⇒ 로컬 및 원격 레코드(=iCloud) 데이터의 동기화를 관리하는 객체앱의 CloudKit 동기화 작업을 처리에 높은 성능과 안정성을 제공한다.시스템 조건(네트워킹, 베터리 상태 등의 리소스 조건)에 따라 동기화 엔진이 주기적으로 데이터베이스를 Push 및 Pulling 해 CKSyncEngine이 알아서 변경 사항을 기록한다.동기화 작업에서 변경 사항의 처리는 CKSyncEngineDelegate에 메서드로 유형별로 방.. 2025. 5. 7.