Swift Playground

RSS for tag

Learn and explore coding in Swift through interactive learning experiences on the Swift Playground app for iPadOS and macOS.

Swift Playground Documentation

Posts under Swift Playground subtopic

Post

Replies

Boosts

Views

Activity

Piece of code in Playground that reliably crashes lldb server
Dare anyone try the following code in any Playground: // Define a model that conforms to Codable struct User: Codable { var name: String var age: Int var email: String? } // JSON data (as a string for demonstration) let jsonString = """ { "name": "John Doe", "age": 30, "email": "john@example.com" } """ // Convert the JSON string to Data if let jsonData = jsonString.data(using: .utf8) { do { // Parse the JSON data into the User model let user = try JSONDecoder().decode(User.self, from: jsonData) print("Name: \(user.name), Age: \(user.age), Email: \(user.email ?? "N/A")") } catch { print("Error decoding JSON: \(error)") } } I tested with Xcode 16.2 and latest 16.3, it reliably crashes the lldb server!
6
1
179
Apr ’25
How can I use a CreateML model in Swift Playgrounds
I am trying to implement a ML model with Core ML in a playground for a Student Challenge project, but I can not get it to work. I have already tried everything I found online but nothing seems to work (the tutorials where posted long time ago). Anyone knows how to do this with Xcode 15 and the most recent updates?
5
0
2.8k
Jan ’25
"public headers ("include") directory path for 'Guide' is invalid or not contained in the target" error
Hi, I have a problem with making a swift playgrounds app walkthrough. I followed the steps exactly and modified my Package.swift a bit (in the targets section): .executableTarget(name: "App", dependencies: ["Guide"], path: "App"),         .target(             name: "Guide",             path: "Guide",             resources: [             .process("Guide.tutorial"),             ]) Now when I open the project in Playgrounds I get this error: public headers ("include") directory path for 'Guide' is invalid or not contained in the target Any help would be appreciated. Thanks
4
0
3.3k
Oct ’24
Swift Playgrounds Incompatibility with Xcode 16 Files and Swift Versions
I'm facing an issue with Swift Playgrounds and files created in Xcode 16. It seems that Swift Playgrounds does not support Swift 6, but even when I create files specifically with Swift 5, Swift Playgrounds still reports that the files are unsupported. This creates a significant problem because macOS Sequoia does not allow me to revert to Xcode 15, which might have offered better compatibility. As it stands, I can't find a solution to work seamlessly between Xcode and Swift Playgrounds. Has anyone else encountered this issue? Are there any workarounds or updates planned to address this compatibility gap? Any advice would be greatly appreciated!
4
1
790
Jan ’25
Unable to rename the Swift Playground or add an icon when package dependencies is imported
I'm unable to rename my Swift Playground or add/change the app icon when I imported a package dependency after upgraded my Swift Playgrounds App to the newest version. Every time I tried to do that, the whole project will be destroyed and showed error message below. I wonder if anyone have same experience with me or someone can tell me the solution, it terrifies me and I'm worried that I'll be unable to submit my project on time because of that.
4
0
526
Feb ’25
Swift Playgrounds 4.6 removes support for libraries?
I had several library projects that were working in Swift Playgrounds < 4.6 but I get several duplicate compilation errors and previews will not build in Swift Playgrounds > 4.6. Does anyone know how to fix this issue? Example project: This project builds and runs fine under Swift Playgrounds 4.5.1 however it will not run complaining multiple commands produce generated output files under Swift Playgrounds 4.6.1, 4.6.2, and 4.6.3. https://github.com/kudit/Compatibility Download this repository and add the extension ".swiftpm" to the folder and double click to open in Swift Playgrounds. If running on earlier Swift Playgrounds you can see there are no errors and previews work great (on both macOS and iPadOS versions of Swift Playgrounds 4.5.x). However, on Swift Playgrounds 4.6.x, previews will not display. Are embedded libraries not support anymore? This would be very disappointing. I posted this as a Feedback weeks ago with no response: FB16509699
4
0
340
Jun ’25
‘Keep going with apps’ Crash during Creature Add steps
Hello fellow Techies! I am currently doing the Swift Playgrounds “Keep Going with Apps” on my iPad Pro. Everything has been going as designed until I got to the ‘Add and Delete Creatures‘ module. The lesson concludes with being able to add a creature to your list in the CreatureZoo. When you run the app from the playground, you can fill out the fields and tap ‘Add’ and that is when the app dims and after 5 seconds I get the notification that the app has an unknown crash. I have reviewed the lessons leading up to it, but I can’t find anything wrong. (Full Disclosure: I really have no clue what I am looking at some of time.) Has anyone else ran into this? `import SwiftUI import Guide struct CreatureEditor: View { //#-learning-code-snippet(defineVariablesCreatureEditor) //#-learning-code-snippet(environmentValue) @State var newCreature : Creature = Creature(name: "", emoji: "") @EnvironmentObject var data : CreatureZoo @Environment(.dismiss) var dismiss var body: some View { SPCAssessableGroup(view: self) { VStack(alignment: .leading) { Form { Section("Name") { //#-learning-code-snippet(addACreatureEditorTextField) TextField("What is your monster's name?", text: $newCreature.name) } Section("Emoji") { TextField("What does your monster look like?", text: $newCreature.emoji) } Section("Creature Preview") { CreatureRow(creature: newCreature) } } } .toolbar { ToolbarItem { Button("Add") { data.creatures.append(newCreature) dismiss() } } } //#-learning-code-snippet(addButtonToToolbar) } } } struct CreatureEditor_Previews: PreviewProvider { static var previews: some View { NavigationStack() { CreatureEditor().environmentObject(CreatureZoo()) } } }’
4
0
206
Mar ’25
Main actor-isolated property can not be referenced
Hello I'm getting this error in my code and I don't know why. Can somebody explain this or point me at a help article. import UIKit var greeting = "Hello, playground" let imageView = UIImageView() imageView.image = UIImage(named: "image") Utils.getImageSize(view: imageView) class Utils { static func getImageSize(view imageView: UIImageView) { let image = imageView.image print("Image size = \(image?.size ?? CGSize.zero)") } } The error is as follows: Cheers Murray
4
0
142
Jul ’25
Learn to code / beginner
Hello everyone, I’m completely new to programming and Apple development, but I’ve always had the strong wish to learn coding and to work more deeply with Apple’s system structures. My main questions are: How should I best start learning? For example, is Swift Playgrounds the right first step? How should I continue afterwards to gain further knowledge, possibly in areas like system architecture, cybersecurity, or cloud computing (even though I don’t want to commit too early to one direction)? Can you recommend a learning schedule or intensity (e.g., how often per day or week I should practice) for someone who works full-time? Is my current MacBook Air (2020, Intel i3, 8 GB RAM, 250 GB SSD) still suitable for learning and beginner development, or would you recommend upgrading to a newer model? On top of that, my English is not perfect yet – is it possible to improve it alongside learning coding? I’m very motivated to finally start this journey, even though I once turned down an IBM apprenticeship when I was younger. Now I want to give it a real try. Any advice, personal experiences, or learning resources would be very much appreciated. Thank you in advance!
4
0
149
Aug ’25
LLDB RPC Server Crash Playground File XCode 16.0
When running the code below in a playground file, it crashes with an LLDB RPC Server crash. The crash log is attached. If I put the code into a project, it runs fine. lldb-rpc-server-2024-10-04-110747.txt import Foundation @objc protocol Speaker { func speak() @objc optional func tellJoke() } class Deb: Speaker { func speak() { print("Hello, I'm Deb!") } func tellJoke() { print("What did Sushi A say to Sushi B?") } } class Bryan: Speaker { func speak() { print("Yo, I'm Bryan!") } func tellJoke() { print("What is the object oriented way to become wealthy?") } func writeTutorial() { print("I'm on it!") } } class Animal {} class Dog: Animal, Speaker { func speak() { print("Woof!") } } var speaker: Speaker = Bryan() if speaker is Bryan { print("Hi, I'm a Bryan") } speaker.speak() //speaker.writeTutorial() //won't compile (speaker as! Bryan).writeTutorial() speaker = Deb() speaker.speak() speaker.tellJoke?() speaker = Dog() speaker.tellJoke?() //return nil protocol MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: Speaker, b: Speaker) func mtgSimulatorDidEnd(sim: MtgSimulator, a: Speaker, b: Speaker) } class LoggingMtgSimulator: MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("Meeting started") } func mtgSimulatorDidEnd(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("Meeting ended") } } class MtgSimulator: MtgSimulatorDelegate { func mtgSimulatorDidStart(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("the meeting started") } func mtgSimulatorDidEnd(sim: MtgSimulator, a: any Speaker, b: any Speaker) { print("the meeting ended") } let a: Speaker let b: Speaker var delegate1: MtgSimulatorDelegate? var delegate2: MtgSimulatorDelegate? init(a: Speaker, b: Speaker) { self.a = a self.b = b delegate1 = self } func simulate() { print("Off to meeting....") delegate1?.mtgSimulatorDidStart(sim: self, a: a, b: b) delegate2?.mtgSimulatorDidStart(sim: self, a: a, b: b) a.speak() b.speak() print("Leaving meeting...") delegate1?.mtgSimulatorDidEnd(sim: self, a: a, b: b) delegate2?.mtgSimulatorDidEnd(sim: self, a: a, b: b) a.tellJoke?() b.tellJoke?() } }//MtgSimulator let sim = MtgSimulator(a: Deb(), b: Bryan()) sim.delegate2 = LoggingMtgSimulator() sim.simulate()
3
1
1.7k
Oct ’24
IOS 18 SDK not available in Swift Playgrounds for IPad
I updated my iPad to iOS 18, but when I went into Swift Playgrounds it only had the iOS 17 SDK. Maybe it has to with the fact that I’m on an iPad 9th Gen and it doesn’t have the Apple intelligence features so it can’t run the AI features. I’m just wondering if I will be getting the new SwiftUI features such as the new [TabBar](https://developer.apple.com/videos/play/wwdc2024/10147/) or [MeshGradients.](https://developer.apple.com/videos/play/wwdc2024/10151/?time=381)
3
0
544
Jan ’25
Swift Playground - Types Lesson
While I am not new to programming, I am quite new to the Swift language. I am using the Swift Playground app on macOS 26 on an M1 MacBook Air. I am on the lesson about types. Perhaps it's a silly question, but what is a portal? It is never described or pointed out where to find it in the puzzle world. Similarly, the instructions reference a "switch" object without ever defining what it is. I cannot write code to call methods or set properties on objects about which I have no useful information. Can anyone advise, please? Thank you kindly.
3
0
152
1w
Swift Student Challenge requires Swift Playground (.swiftpm), minimum OS setting not available.
When making a new Swift Playground via Xcode > New > Project > iOS > App Playground, as a .swiftpm package, the settings are very limited, including setting the minimum OS version. This is incredibly irritating because I can't keep make @available blocks because that would double the size of my code, and I can't use SwiftData (for example) because my app needs to also support iOS 16. Is there a way to set the minimum OS or some other upload type accepted for Apple so that I can change this simple setting? Thank you
2
0
831
Oct ’24
Empty canvas in Swift Playgrounds Mac 15.1
Hi, First post and I am a total newbie when it comes to Ipads & Macs... And also this forum, so sorry if I post in wrong section. My son use Ipad at school and they use Swift Playground there. To be able to do some programming at home, I have set up Vmware with Sequoia 15.1. I installed the app Swift Playground and try to run the playground Get Started with Code and some other education playgrounds. If I understand correctly, it should be some landscape and a figure on the canvas... For me it is only a blue area. I installed XCode, but could not figure out how to run the learning examples there. Tips? Is it possible to run the education playgrounds there? I removed Swift Playgrounds and installed it again, same issue. I also installed IOS 18.1 (?) but I am not sure it is needed. Any suggestion of how I can get contents to show on the canvas? Except of bying an Ipad. ;)
2
0
668
Jan ’25
Swift Playgrounds Will Not Upload to App Store Connect
When I go to the App Settings menu in Swift Playgrounds and attempt to upload to App Store Connect, I run into the below error screen: I am registered with the Apple Developer Program. Swift Playgrounds is updated to its latest version. This is occurring on both macOS and iPadOS. All the information I put in is valid. Any reason why this would be happening?
2
1
372
Jan ’25