There comes a time in every person’s life when they find they need to move from their beautiful little app they created in Swift Playgrounds to the big, bad world of Xcode.
Okay, maybe not every person’s life.
But there might come that time.
Getting it to your Mac
First off, you need to get the Playground app over to your Mac, and my personal favorite way is with AirDrop.
You can share your Playgrounds by tapping on the title, if you have it open in Playgrounds, or you can choose Select and then Share from the screen with all the playgrounds visible. Once you’ve AirDropped the app to your Mac, you’ll see a file that says (if you have show file extensions turned on) My App.swiftpm.
And you can open that in Xcode, by right-clicking on the file (or selecting it in the Finder and choosing the Action menu and selecting Open With… Xcode.app:
When?
But when would we want to do something like that?
More Features from our Development Environment
Well, sometimes we want to take advantage of some of the pro features Xcode has that Playgrounds doesn’t. Things like:
- Powerful debugging capabilities;
- Instruments for analyzing your app’s performance;
- Simulators of all kinds of iPhone, iPad, Apple Watch, and other devices;
- More information on the bigger screen of your laptop with navigator panes, inspector panes, preview canvas, code editors, and more;
- Source control integration with platforms like Github…
Especially if we’re familiar with Xcode, we may be super comfortable with all the tools it has built in to help us build our apps quicker and more efficiently.
With this as our main reason, we’re still in pretty good shape. We can leave the app in its .swiftpm project file format.
When we do this, it means we can edit our app in Xcode on our Mac and then AirDrop it (or save it in iCloud) to edit on the iPad in Playgrounds, as well.
We Need More Advanced Features for our App
We can get incredibly far with Playgrounds and app development, even shipping apps all the way to the App Store and selling them!
But there are a few features of Xcode-based projects that might entice you to move over, or you might need to move over, to implement certain features in your app. For example:
- Easier device and orientation support – Xcode projects make it easier to tick a box and restrict an app to iPhone Portrait view or any number of combinations;
- Even more capabilities, like iCloud support, Apple Pay support, custom Fonts, Game Center…;
- Multiple targets, Xcode Cloud support from the development environment;
- Storyboards and UIKit support with Interface Builder
Making the Leap
If you do decide, yep, I want some of those extra features, so I’m moving to Xcode, just a word of warning: you can’t AirDrop an Xcode Project-based app back onto your iPad and work on it in Playgrounds.
In the video below, I show you one way to do this, and some ways to get out of the trouble you might find yourself in with some common issues that arise.
You can get pretty far with Swift Playgrounds. In fact, at the start of the video I show you how to add functionality to your Playgrounds app using packages, and the way to do the same in Xcode.
But if, for any of the reasons listed above, you feel like you need to move to Xcode, or just want to check it out, the video will help you see how that can be done.
Best of luck, and if it’s your first time using Xcode, welcome to the Show!
This is a really cool post Matthew Hanlon. Indeed the Corresponding YouTube Video is also great as usual. Thanks for posting it back !! Best Wishes.