Swift Playgrounds 4.0
December 15, 2021
What’s New (iOS)
- Build iPhone and iPad apps with SwiftUI right on your iPad (requires iPadOS 15.2 or later)
- App Store Connect integration lets you upload your finished app to the App Store
- App Preview shows live updates as you make changes to your app
- Full-screen preview lets you see your app edge-to-edge
- Smart, inline code suggestions help you write code quickly and accurately
- App Projects make it easy to move projects to Xcode and back
- Project-wide search finds results across multiple files
- Snippets Library provides hundreds of SwiftUI controls, symbols, and colors
- Swift Package support lets you include publicly-available code to enhance your apps
What’s New (macOS)
- Support for Swift 5.5
Swift Playgrounds 3.4
November 16, 2020
- The console area shows the output of print() statements.
- Code suggestions appear much faster.
- Export as a new playground to create custom lessons with a new reset point.
Swift Playgrounds 3.3
April 2, 2020
- Works with the new cursor support in iPadOS.
- Updated Brick Breaker challenge has all new graphics and is more customizable.
- Performance improvements and additional bug fixes.
- Learn to Code no longer hangs or crashes when connected to a Bluetooth output device. (58015786)
- Fixed an issue that could cause excess CPU use on macOS after opening a number of playgrounds in a short period of time or leaving the Live View sitting idle in some playgrounds. (59395922)
- Fixed an issue that could result in some playgrounds being flagged as malicious and prevent them from running on macOS 10.15.4. (59689857)
Swift Playgrounds 3.2 for Mac
February 11, 2020
- Swift Playgrounds is now available for macOS Catalina in the Mac App Store.
- Use the same playground files on macOS Catalina and iPadOS.
Unique Features for Mac
- Code suggestion area also displays help for many available commands.
- Sidebar shows a complete list of all pages and additional Swift files in a playground.
- Touch Bar puts commands such as Run My Code at your fingertips.
- Menu bar organizes available commands with keyboard shortcuts for common actions.
- Live View elements are not accessible to VoiceOver if VoiceOver is enabled after opening the document. (56687963)
- Workaround: Close the document, make sure VoiceOver is enabled, and reopen the document.
- Learn to Code 1 and 2 may crash when connected to a Bluetooth output (58015786).
- Workaround: Turn off “Sound effects” on the Audio button in the live view, or do not use Bluetooth.
- Swift Playgrounds 3.2 uses Swift 5.1 (swiftlang-1100.0.270.13). Code written using other versions of Swift may not work in Swift Playgrounds 3.2.
Swift Playgrounds 3.2 for iPad
December 9, 2019
- Code suggestions appear faster.
Swift Playgrounds 3.1
October 1, 2019
- Use the new Dark Mode coding theme when running Dark Mode in iPadOS 13.
- In Learn to Code, help Byte and friends explore their world at night when using Dark Mode in iPadOS 13.
- Build with the SwiftUI framework in new playgrounds you create.
- Includes Swift 5.1 and the iOS SDK.
Note: Swift Playgrounds 3.1 uses Swift 5.1 (swiftlang-1100.0.270.13). Code written using other versions of Swift may not work in Swift Playgrounds 3.1.
- Subscribing to a feed through universal link hides the “Edit” and “Done” buttons in the document store. (55053548)
Workaround: Download a piece of content to continue using the app.
Swift Playgrounds 3.0
May 14, 2019
- Playground Books can now contain directories of Swift code that can be imported for use by any page in that book.
- Files in ./Contents/UserModules/ are editable by users, using the new source editor tabs.
- In addition, the modules in a book’s Modules directory .playgroundbook/Contents/Modules can be imported by any page in the book, but can’t be viewed or edited in the app.
Note: Swift Playgrounds 3.0 uses Swift 5 (swiftlang-1001.0.69.5). Code written using other versions of Swift may not work in UserModuleExample.playgroundbook.
- Attempting to delete all of the shared Swift files in a module will result in an error for playgrounds that have been set to “Limited” mode by the author. Closing and reopening the document will fix the issue. (48727765)
- Not all content may be updated to a supported Swift version. (47831096)
- Playgrounds which use Swift 3 are no longer supported. Swift 4.2 is still supported. (50259764)
Swift Playgrounds 2.2
November 12, 2018
- More to Explore lets you browse and download content from your favorite third-party creators, directly within Swift Playgrounds.
- Swift Playgrounds 2.2 supports the iOS 12 SDK.
Note: Swift Playgrounds 2.2 uses Swift 4.2 (swiftlang-1000.0.37.1). Code written using other versions of Swift may not work in Swift Playgrounds 2.2.
- Some playgrounds and third-party subscriptions may not yet be compatible with this release.
- A playground may get stuck after recording a movie. A workaround is to force close Swift Playgrounds from the App Switcher, then relaunch the app and open the playground again.
- The number keypad pop-over has been removed. The on-screen keyboard designed for Swift will auto-show instead.
Swift Playgrounds 2.1
April 30, 2018
- What’s Next suggests other playgrounds to try based on your progress so far.
- Support for macOS content caching to speed downloads in networks with multiple Swift Playgrounds users.
- Swift Playgrounds 2.1 supports the iOS 11.3 SDK.
Note: Swift Playgrounds 2.1 uses Swift 4.1 (902.0.48). Code written using other versions of Swift may not work in Swift Playgrounds 2.1.
- A playground may get stuck while downloading.
Workaround: Force close Swift Playgrounds from the App Switcher, then relaunch the app and download the playground again. For more information, see How to force an app to close on your iPhone, iPad, or iPod touch.
Swift Playgrounds 2.0
January 24, 2018
- Now you can subscribe to playgrounds from your favorite third-party creators, then browse and download their content directly within Swift Playgrounds.
- Subscriptions automatically show new playgrounds when available and alert you to updates.
- New robots including IBM’s TJBot and Mekamon are available from the Add Subscriptions button.
- New content gallery shows all playgrounds including third-party subscriptions in a single view.
- Documentation for iOS features and commands is now available from the Help button and the tools menu.
- Locations button lets you open playgrounds from the Files app on your iPad.
Note: Third-party robot playgrounds previously included in the app are now available directly from their respective authors when you browse subscriptions. Playgrounds already downloaded from the Accessories tab using a previous version of Swift Playgrounds continue to be available on your iPad or in the Playgrounds folder in iCloud Drive.
- Swift Playgrounds 2.0 supports the iOS 11.1 SDK.
Note: Swift Playgrounds 2.0 uses Swift 4.0.2 (900.0.69.2). Code written using other versions of Swift may not work in Swift Playgrounds 2.0.
For information on creating your own playgrounds and publishing a subscription on the web, please see Playground Book Format Reference.
- Swift Playgrounds may freeze after heavy use on iOS 11.
Workaround: Restart iPad and open Swift Playgrounds
- The “Take Picture” feature no longer produces an empty, white snapshot.
Swift Playgrounds 1.6.1
September 25, 2017
- Fixes an issue introduced in Swift Playgrounds 1.6 that would prevent some existing playgrounds from running. Learn to Code, the Hour of Code challenge, and most other playgrounds now work as expected. Some of the accessory playgrounds may require that you tap the New Playground button to get the latest version.
- After updating to a new version of Swift Playgrounds the app may attempt to update your existing playground documents to work seamlessly with this new version. Normally, this happens transparently. For the playground to be updated it must be on the device when the app launches.
If you have a playground in iCloud, but not on the device, then that playground will not be updated until it is downloaded. A similar situation can arise if you receive an older playground via AirDrop or email. In both cases, these playgrounds will be updated after Swift Playgrounds fully closes and is then re-launched.
To trigger the update manually, force the Swift Playgrounds app to close and then re-launch it. Swift Playgrounds will then update all the playgrounds you have stored on your iPad. For information on how to force an app to close see the following article: https://support.apple.com/en-us/HT201330.
In rare cases, you will need to create a new version of the playground using the “New Playground” button. This will retrieve the latest version of the playground, compatible with your version of Swift Playgrounds.
Swift Playgrounds 1.6
September 19, 2017
- New Augmented Reality challenge uses ARKit to show the familiar Learn to Code characters within the real world.
- You can now access the iPad camera from your code.
- Errors in your code are more clearly explained.
- Your code can take advantage of Swift 4 and the iOS 11 SDK.
- New languages for the app and the Learn to Code 1 lessons include: Spanish (Spain), Italian, Dutch, Chinese (traditional), Korean, Swedish, Thai, Turkish, and Portuguese (Brazil).
- Swift Playgrounds 1.6 uses Swift 4 (900.0.65), and code written using other versions of Swift may not work in Swift Playgrounds 1.6.
- ARKit features require an iPad Pro or iPad (5th generation) running iOS 11.
The following AVFoundation APIs are not available:
Swift Playgrounds 1.5
June 5, 2017
Command robots, pilot drones, and make music with Swift code you write. The new Accessories tab includes immersive playgrounds and starter templates to build your own playgrounds for the following hardware devices:
- LEGO MINDSTORMS EV3
- Sphero SPRK+
- Parrot drones Mambo, Rolling Spider, and Airborne
- MeeBot by Jimu Robots
- Dash by Wonder Workshop
- Skoog musical instrument
Note: Swift Playgrounds 1.5 uses Swift 3.1 (802.0.53). Code written using other versions of Swift may not work in Swift Playgrounds 1.5.
Swift Playgrounds 1.2
March 21, 2017
- Swift Playgrounds is now localized for Latin American Spanish, French, German, Simplified Chinese, and Japanese.
- You can now add and remove pages to playgrounds you created from scratch or from templates.
- Support for Swift 3.1 has been added.
Note: Swift Playgrounds 1.2 uses Swift 3.1 (swiftlang-802.0.46). Code written using other versions of Swift may not work in Swift Playgrounds 1.2.
- Code completion choices may display poorly if the active keyboard is Chinese or Japanese.
Swift Playgrounds 1.1
November 17, 2016
- Learn to Code 3 continues the guided learning experience as you help Blu explore the universe.
- Hour of Code challenge gives a Byte-sized introduction to the Learn to Code lessons.
- Step through your code to highlight each line as it is run.
- Learn to Code now includes music and sound effects.
- Notifications for new and updated content.
Note: Download new copies of Learn to Code from the Featured page to get the music, sound effects, and line highlighting features.
- Swift Playgrounds 1.1 uses Swift 3.0.1 (swiftlang-800.0.58.6). Code written using other versions of Swift may not work in Swift Playgrounds 1.1.
- Do not subclass MTKView and override the draw(_:) method. Instead, use the drawing methods provided by the MTKView delegate.
- The character picker may not function correctly in Learn to Code playgrounds from prior versions of Swift Playgrounds. To use the character picker, re-download Learn to Code 1 and Learn to Code 2.
- iOS 10.1 is required to hear music.