본문 바로가기

프로그래밍

NSKeyedUnarchiver.unarchiveObject 크래시 이슈

728x90
반응형

새로운 앱 타겟 추가 후 unarchiveObject시 크래시 발생

 

에러 메시지:

the class may be defined in source code or a library that is not linked'

 

원인(추측):

기존 저장돼 있던 Object 데이터의 키가 "Project.ClassName" 으로 되어 있는데, 다른 타겟에서는 타겟 이름이 변경되므로 다른 키가 전달되어 크래시 발생

 

해결방법:

"Project.ClassName"을 명확하게 명시해준다.

NSKeyedUnarchiver.setClass(Track.self, forClassName: "Project.Track")

 

참고:

https://stackoverflow.com/questions/62440753/nskeyedunarchiver-issue-when-moving-model-to-framework/62440907#62440907

 

반응형