기타

Xcode Playground에서 Swift Package와 Assets 사용하는 방법

Phililip
728x90

안녕하세요.

 

저는 코드 몇 줄 간단하게 확인해보고 싶을 때 Xcode Playground를 자주 애용하는 편입니다.

 

그래서 어떤 Swift 오픈소스를 Xcode Playground에서 간단하게 찍먹 해보려고 했더니, Swift Package를 추가하는 메뉴가 안보이더라구요...??

 

허헣...

 

 

그래서 이번 일을 계기로, Xcode Playground에서 Swift Package를 사용할 수 있는 방법에 대해 알아보고,

 

추가로 Xcode Playground에 Assets도 추가해서 사용해보는 시간을 가져볼게요.

 

 


 

# 1. Xcode Playground에서 Swift Package 사용하기

우선 결론부터 말을 하자면...

 

Xcode Playground만 가지고는 Swift Package를 추가할 수 없습니다....;;;;

 

 

그럼 어떻게 해야 하냐??

 

iOS App 프로젝트를 만든 뒤, 그 iOS App 프로젝트에 Playground를 추가하는 방식을 써야 해요...

 

 

하나씩 직접 해볼게요.

 

iOS App 프로젝트를 만들고,

 

프로젝트 안에 Playground 파일이 들어갈 Group을 만들어줄게요.

(이건 그냥 보기 좋으라고 그룹을 별도로 만든 것이니, 꼭 추가할 필요는 없습니다ㅎㅎ)

 

 

 

빈 Playground를 만들어주는데, 주의할 점은 이때 iOS App 프로젝트에 넣어줘야 합니다. 

 

 

그다음에 프로젝트를 닫았다가 다시 열어주세요.

 

 

 

 

Playground를 실행시키면 잘 동작하는 것을 볼 수 있어요ㅎㅎ

 

Playground는 잘 추가된 것을 확인했으니, 이제 Swift Package를 넣어줄게요.

 

프로젝트 타겟 > Package Dependencies로 가서 Swift Package를 넣어줄게요.

(저는 이전에 알아봤던 CustomDump라는 모듈을 넣어줘 볼게요ㅎㅎ)

 

 

 

CustomDump에 대해 궁금하신 분들은 아래 글을 참고해주세요!

 

[오픈소스] CustomDump 소개

 

[오픈소스] CustomDump 소개

안녕하세요. 이번에는 customDump라는 오픈소스를 소개해볼까 해요. # 1. CustomDump 소개 CustomDump의 소개글을 살펴볼게요. A collection of tools for debugging, diffing, and testing your application's da..

phillip5094.tistory.com

 

 

다시 Playground로 가서 추가한 Swift Package를 import 하면 그 모듈을 사용할 수 있어요!!

 

import CustomDump

customDump([1: "one", 2: "two", 3: "three"])

 

👍 👍 👍

 

이게 끝이에요!!ㅎㅎㅎ

 

정리해보자면,

 

Playground에서 Swift Package를 쓰고 싶다 -> 빈 iOS App 프로젝트를 만든다. -> Playground를 추가한다. -> Swift Package를 iOS App 프로젝트에 추가한다. -> Playground에 그 모듈을 import 한다.

 

 

 

근데, 한 가지 의문점이 들지 않나요??

 

Swift Package를 어디에 넣는다고 했죠?

 

네. iOS App 프로젝트에 추가한다고 했었죠?

 

Playground에는 Swift Package를 추가하지 않았는데......?? 🤔 🤔

 

 

이런 일이 가능했던 이유는 Xcode 12부터 추가된 Build Active Scheme이라는 설정 때문이에요.

 

Playground의 Inspector를 보면 Playground Settings에 Build Active Scheme이라는 설정이 보입니다.

 

 

 

Build Active Scheme 설정이 활성화(enable) 되어 있으면, 

 

Xcode가 자동으로 현재 선택된 scheme에 포함된 모든 타겟(모듈)들을 빌드해서 Playground가 모듈들을 import 할 수 있게 해 줍니다.

 

 

그래서 지금 선택한 scheme을 보면

 

Libraries에 CustomDump 모듈이 추가되어 있죠?? 그래서 Playground에서도 사용할 수 있었던 것이었습니다ㅎㅎ

 

이해가 좀 되실까요?

 

반대로 말하면, 현재 선택한 scheme에 Playground에서 사용할 모듈이 등록되어 있지 않다면 Playground에서도 사용할 수 없으니 이 부분은 주의해야 할 것 같아요.

 

 

 

# 2. Playground에서 Assets 사용 방법

이건 Swift Package 넣는 방법보다 훨씬 쉬워요ㅋㅋㅋㅋ

 

Assets 폴더를 복사해서, 복사한 폴더를 그대로 Resources 폴더에 넣어주세요ㅎㅎ

 

 

끝!!!! 👍 👍 👍

 

 

 

 

## 참고

- https://developer.apple.com/videos/play/wwdc2020/10096/

 

Explore Packages and Projects with Xcode Playgrounds - WWDC20 - Videos - Apple Developer

Xcode Playgrounds helps developers explore Swift and framework APIs and provides a scratchpad for rapid experimentation. Learn how Xcode...

developer.apple.com

 

 


 

이번 글은 여기서 마무리.

 

 

 

반응형