SwiftData 모델명 Tag가 빌드를 깨뜨리는 이유 (+ Xcode 16 .gitkeep 함정)

뭘 하려고 했냐면 문서 스캔 앱을 새로 시작했는데요. SwiftData로 Document와 Tag 모델을 만들고, 테스트를 먼저 작성하는 TDD로 진행하고 있었어요. 모델 코드는 심플했거든요: @Model class Tag { var name: String var color: String @Relationship(inverse: \Document.tags) var documents: [Document] } 여기까지는 문제없었어요. 빌드도 잘 되고. 첫 번째 삽질: Tag가 내 Tag가 아닌데요 테스트에서 FetchDescriptor를 쓰는 순간 터졌어요: let fetched = try context.fetch(FetchDescriptor<Tag>()) error: 'Tag' is ambiguous for type lookup in this context 처음엔 뭔 소린가 했는데요. SwiftUI에 이미 Tag라는 타입이 있더라고요. TabView나 Picker에서 선택 항목을 식별할 때 쓰는 그 Tag요. ...

2026년 4월 26일 · 3 분 · Young