-
SPM에서 asset 파일 사용 방법Swift 2022. 10. 28. 01:11
SPM에서 asset 파일을 사용하고 싶은 경우
아래처럼 MyLibrary(최상위 spm 이름) -> Sources -> MyLibrary 내부에 asset 파일을 새롭게 추가하면 된다.
asset 파일을 추가하게 되면 기존과는 다르게 Media라는 이름으로 파일이 생성되게 된다.
asset 파일은 따로 Package.swift 파일에서 각 타겟들에 resources에 추가해주지 않아도 알아서 번들화를 시켜준다.
이렇게 세팅을 해준 후에 이미지나 컬러 등을 추가해주고 사용하면 된다.
찾다보면 여러가지 방법들이 다양하게 나오지만, Bundle.module 이런식으로 사용해주면 정상적으로 뜨는 것을 확인할 수 있다.
예시)
왼쪽은 SwiftUI Image 예시이고 오른쪽은 UIImage 사용 예시다. SPM에서 asset 파일 외의 resource 들을 사용하고 싶다면?
예시로 json 형식의 파일을 추가해야 한다고 하면, 그냥 사용할 수는 없다. 인식을 못하기 때문이다. 따라서 이럴 경우 Package.swift 파일에서 각 타겟들에 추가를 해주어야 한다.
나의 경우 다음 사진과 같이 Resources라는 하나의 폴더로 모아 관리했다.
우선 Resources라는 폴더를 추가하고, 그 안에 필요한 파일들을 넣었다. 그리고 이를 번들화 시키기 위해서는 다음 그림과 같이 Package.swift에 추가해주는 작업이 필요하다. 본인이 원하는 타겟의 reources 에 추가해주면 된다.
*참고로 .process는 그냥 폴더에 접근하겠다 정도라서 디렉토리 구조는 그대로 가져가지는 않는데, .copy의 경우 디렉토리 구조까지 그대로 가져가겠다라는 뜻이다. (어지간한 이유가 아니면 .process를 사용하라고 애플은 권장한다.)
참고 블로그
https://tech.kakao.com/2022/06/02/swift-package-manager/
Swift Package Manager 적용기
안녕하세요! 카페앱개발파트에서 iOS 개발을 하고 있는 셀린(Celine.jin)입니다. 이번에 카페앱 iOS 프로젝트에 종속성 관리를 위한 Apple의 공식 도구인 Swift Package Manager을 도입하여, 이에 대한 경험
tech.kakao.com
'Swift' 카테고리의 다른 글
pod install error>>> [!] Unable to determine the platform for the `app name` target (0) 2023.07.17 SPM을 사용하는 프로젝트에서 SPM의 번들에 접근하고 싶은 경우 (0) 2022.10.28 회사 코드 private 라이브러리 회상 (3) - 새로 알게된 점 (0) 2022.10.27 회사 코드 private 라이브러리화 회상 (2) - SPM (0) 2022.10.27 회사 코드 private 라이브러리화 회상 (1) - CocoaPod (0) 2022.10.27