Core Data Error, Thread1 SIGABRT
퇴근 직전 발생한 이슈를 기록합니다.
Problem: Core Data를 사용하는 화면에서 강제 종료 현상 발생
Issue 1
Crashlytics 리포팅된 위치에서 재현이 안돼...
Solved
재현 가능/불가능의 차이는 OS 버전이었습니다.
Crashlytics에 리포팅된 기기 사양이 모두 iOS 14였고, 테스트 기기로 iOS 14, iOS 15를 각각 확인한 결과, 해당 이슈는 iOS 14버전에서 발생하는 문제로 파악되었습니다.
Issue 2
Thread1 SIGABRT 만 발생하고, 상세 오류 로그가 없...
Solved
문제의 원인은 명확히 타입을 명시하지 않았기 때문이었습니다.
NSManagedObjectContext에서 다룰 수 있으려면 NSManagedObject를 상속받은 인스턴스이어야 합니다.
You can’t use instances of direct subclasses of NSObject, or any other class that doesn’t inherit from NSManagedObject, with a managed object context. You may create custom subclasses of NSManagedObject, although this isn’t always necessary.
...
<Apple Developer Documentation>
기존 코드를 확인해보니, 가져오려 한 데이터 타입은 String으로 NSManagedObject를 따로 구현하지 않고 있었습니다. 다음과 같이 코드 수정을 거쳐 앱을 재배포하였습니다.
// 기존 코드
context.fetch(NSFetchRequest(entityName: entityName))
// 수정 코드
context.fetch(NSFetchRequest<NSManagedObject>(entityName: entityName))
Issue 1: 이전 iOS 14에서는 이슈가 없다가 지금 이슈가 발생했는지 이유를 모르겠습니다.
언제든 피드백 부탁드립니다.
Author And Source
이 문제에 관하여(Core Data Error, Thread1 SIGABRT), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@aralc/Core-Data-Error-Thread1-SIGABRT저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)