Swift. Bundle Resource를 찾지 못할때

Choooose·2023년 4월 2일
0

Swift

목록 보기
3/5

최근 사이드 프로젝트를 하던 중에
네트워크 통신을 하기 전 임시로 Dummy.json 파일을 만들어서 관련된 정제함수를 만들기 위한 작업을 진행했었다.

그러나 Bundle에 있는 Json파일을 아예 읽지 못하는 오류가 있었다.
아래처럼 맞는 경로에 들어가있는데 대체 왜 읽지 못하는지에 대해서 알아보았다.

알아본 결과로는
Json파일이 Target Membership에 추가가 되어있지 않았기 때문이다.

따라서 Json파일을 Target Membership에 추가하면서 Target에 대해서 조금 찾아보았다.

Target 이란?

Target은 쉽게 말해 Xcode에서 빌드하는 하나의 프로덕트를 의미한다.
프로덕트의 내부에는 Instruction 즉 Resource(info.plist, Asset ..)Source(.swift)와 같은 것들을 포함한다.

하나의 프로젝트라고 해서 하나의 프로덕트만을 빌드할 수 있는 것이 아니라 여러개의 프로덕트가 존재하고 빌드할 수 있다.

또한 프로덕트는 꼭 앱이 아닌 framework, UITests 등이 될 수 있다.

아래처럼 하나의 프로젝트이지만 다수의 Target이 존재한다.

따라서 Json 파일이 읽어지지 않았던 이슈는

바로 이 Target에 Json 파일이 추가가 되어있지 않아서였다.

보통은 Json파일을 생성하거나 옮길 시에 아래와 같이
자동적으로 Target에 추가가 된다.

그러나 만약 이게 안되었고 그냥 넘어갔을 시에는

Xcode 우측의 Inspectors 창에서

Target Membership에서 Json을 사용하고 빌드할 Target을 선택해주면 Json을 정상적으로 읽어올 수 있다.

참고


https://developer.apple.com/library/archive/featuredarticles/XcodeConcepts/Concept-Targets.html

0개의 댓글