How to use Swift Package Manager in Playground How to use Swift Package Manager in Playground swift swift

How to use Swift Package Manager in Playground


It is not possible to use the Swift Package Manager in a playground at this time. The reason for that is that the Swift Package Manager is primarily used outside of apple platforms.

Apple mentions this on the Swift Package Manager's GitHub:

Note that at this time the Package Manager has no support for iOS, watchOS, or tvOS platforms

The Swift Package Manager is especially useful for writing Swift for platforms such as Linux and Mac. Uses may include creating servers based written in Swift or writing programs that can be run without a user interface (think home automations and IoT). It is a great way to organize packages without using Pods or other third-party setups. When you build the code for production (or debugging) it will download and incorporate packages into the project.

Note: This may change in the future, but is current as of Swift 3


In Xcode 12, you can use Swift Packages with Xcode Playgrounds.

Steps to setup a workspace with a Swift Package and a Playground:

  • Open Xcode
  • Create a new Workspace (File > New > Workspace...)
  • Add the desired Swift package via File > Add Files to "Workspace Name"... selecting the package directory.
  • Create a new Playground via File > New > Playground.... Ensure that you select the Workspace we just created as the "Add to" and "Group" option during Playground creation (in the assistant where you select the Playground's location on disk).
  • You can now import the Package target into your Playground and starting exploring the Package's functionality.

You can find additional details and a sample project in this WWDC20 session: Explore Packages and Projects with Xcode Playgrounds

Ensure to check the new "Build active scheme" checkbox in the inspector for your existing Playgrounds.


In Xcode 12, playgrounds can work seamlessly with swift packages in a project.

Please follow the steps below:

  1. Create a project named Playground:

    File → New → Project... (⇧⌘N) → Product Name: Playground

    ⚠️ You can name it whatever you want, here is just an example.

  2. Add a swift package for the project, such as SnapKit:

    File → Swift Packages → Add Package dependency... → https://github.com/SnapKit/SnapKit.git

  3. Create a playground and add it to the project created in the first step:

    File → New → Playground... (⌥⇧⌘N) → Add to: Playground

  4. Import the swift package (SnapKit) in the Playground:

    import SnapKit

If nothing else, you can use SnapKit in the Playground.