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

How to add a macOS dock icon from Sketch into Swift Playground?
Hi, friends! I have a Keynote file, in which I create design for macOS applications settings and system settings, that I use and which are installed on my Mac. I like to record my settings so that every time I reinstall the system or an application I can open my file and set it up exactly the way I want. It's like a user manual, only it looks nice with Mac design elements. And I do it in a presentation (Keynote). I also use a Sketch for the design. I want to turn all this into an app for myself, using Swift Playground. Does anyone know how to, for example, add a macOS Dock icon from a Sketch to Swift Playground?
2
0
359
May ’25
Unabled compiler
Hello the community, how are you? Since few days, this messages displays as an error into my code: "The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions" Since all these days, I'm not able to solve this problem. My app is almost done and the code is good. But I don't find where the problem is from. Here's the block where the message appears: var body: some View { //The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions VStack { TextField("Search invoices...", text: $searchText) .padding(10) .background(Color.gray.opacity(0.1)) .cornerRadius(10) .padding(.horizontal) HStack { ForEach(BillFilter.allCases) { filter in Button(action: { selectedFilter = filter }) { Text(filter.rawValue) .padding() .background(selectedFilter == filter ? Color.accentColor : Color.gray.opacity(0.2)) .foregroundColor(selectedFilter == filter ? .white : .black) .cornerRadius(8) } } All the best,
1
0
372
May ’25
no option for "Extended Runtime Session"
How can I enable "Extended Runtime Sessions" for a companion watch app? Here https://developer.apple.com/documentation/watchkit/using-extended-runtime-sessions in targets under 'Signing & Capabilities' I checked "Audio" and Session Type 'Mindfulness', I created an ExtendedRuntimeManager.swift file. When running a simulation the error message says "Extended Runtime Session ungültig: Reason=-1, Error=This application does not have appropriate permissions to schedule a session." How does the app get the 'appropriate permissions'?
1
0
474
May ’25
How to install codes from Playground on iPhone
Hi there, I'm currently learning how to write some code using Swift Playgrounds on my Mac, and I'm wondering if there's a way to install the code I create onto my iPhone, like a regular app. I've searched online quite a bit but haven't found any clear or definitive answers. Many resources mention a "Run on iPhone" option in Swift Playgrounds, but I don't see that button in my version. I even installed Xcode and connected my iPhone to my Mac, following the instructions I found, but the "Run on iPhone" option still doesn't appear in Playgrounds. I've updated my Mac, iPhone, and Playgrounds to the latest version. Thank you for your help!
1
0
606
Apr ’25
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
468
Apr ’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
745
Mar ’25
Swift Playground 4.6 - App Fails to Run with import AppIntent
Hi everyone, I’ve been developing an app using Swift Playgrounds, and it was working fine in version 4.5. However, after updating to Swift Playground 4.6, the app no longer runs. After some testing, I found that the issue occurs when import AppIntent is included. Here’s a simple example: import SwiftUI //import AppIntents // <- If this line is included, Preview and Run fail. @main struct MyApp: App { var body: some Scene { WindowGroup { Image(systemName: "globe") .imageScale(.large) .foregroundColor(.accentColor) Text("Hello, world!") } } } Has anyone else encountered this issue? Thanks!
2
1
513
Mar ’25
Making a Screenshot Without Right Hardware
I’m looking to publish an app I’ve written on my iPad (Air, to be exact), but I can’t make a screenshot at the required size (which is Pro). And yes, I don’t have a Mac (yeah, I know). Is there an easy or simple way to get a screenshot of an app if I don’t have the right hardware? Is this something I could scale/resize from a smaller device? Or, could I just include a portion of the actual screenshot in a picture (with the correct dimension) that has other text/information? any help would be greatly appreciated
0
0
358
Mar ’25
Save Data from Swift Playgrounds App (Mac)
How do you save data from a Swift Playgrounds App on the Mac? I get an error 'playgroundSharedDataDirectory is not supported in Swift Playgrounds' I think it's doable, some of the Swift Playgrounds tutorials remember the pages I've completed. This is with Playgrounds 4.5.1 on a Mac mini M2 Pro running OSX 14.7 (Sonoma) Ideally, I'd like to save multiple 'documents' and allow the user to select which one they want to work with. The documents don't need to be visible to other Apps. Thanks in advance
1
0
587
Feb ’25
PlaygroundSupport no longer available for Playground apps
In Swift Playground 4.6.2 the package PlaygroundSupport is no longer available to Playground apps. The following test previously permitted apps run in the Playground vs compiled in XCode to support different behavior: #if canImport(PlaygroundSupport) container = NSPersistentContainer(name: "myApp", managedObjectModel: Self.createModel()) #else container = NSPersistentCloudKitContainer(name: "myApp") #endif Since Swift Playground 4.6.2 the PlaygroundSupport package is no longer available for app projects in Playgrounds. Is there a different compile type test which can be used to differentiate compilation for Swift Playground apps ? I am currently having to use a runtime workaround (below) but would prefer a compile time test is an alternative is available. public static var inPlayground: Bool { if Bundle.allBundles.contains(where: { ($0.bundleIdentifier ?? "").contains("swift-playgrounds") }) { return true } else { return false } }
1
1
1.1k
Feb ’25
Playgrounds not able to be built on iPad
I developed my app on xcode, and it builds fine for xcode on simulator. However, when I transferred the swiftpm file to my ipad, the playground failed to build with only the error message "Build failed", while preview on playgrounds works fine. I am not sure what the cause of the error is, if anyone has any tips that would be greatly appreciated. Thank you.
1
0
707
Feb ’25
Xcode: Skipping Duplicate Build File in Compile Sources in a .swiftpm Project – How to Fix?
I'm trying to add Assets.xcassets to a .swiftpm project, but I'm getting the warning: ⚠️ Ignoring duplicate build file in build source build phase (Just to know, that is about developing in XCODE, in Swift Playgrounds does not appear it, even in this second being harder to setting up) The problem is that there are no “Build Phases” in XCODE to remove duplicate files manually. I've already tried adding the path of Assets.xcassets in the resources property of Package.swift, like: .executableTarget( name: "AppModule", path: ".", resources: [ .process("Assets.xcassets") ] ) Even so, the warning persists. Does anyone know how to solve this? Is there any way to remove duplicate references or force a cleanup of the Swift Package Manager cache to fix it? I appreciate any tips! 🙏🚀
2
2
999
Feb ’25
Bug in ‘Learn to Code 2’ – ‘Variables: Seeking Seven Gems’ Causing Errors Regardless of Actions
I’ve encountered a bug in Swift Playgrounds within “Learn to Code 2”, specifically in the “Variables: Seeking Seven Gems” section. No matter what I do—or even if I do nothing at all—an error always occurs. I’ve tested this on both an iPad (9th generation) and an iPad Pro 11-inch (4th generation), and the issue happens on both devices. Has anyone else experienced this? Any ideas on how to fix or work around it? Thanks!
1
1
734
Feb ’25
How to custom swift playground preview application ($title.app) window size
I used Swift Playground to develop application in Mac OS. Also using ZStack I used limited area in full page (using .frame(width: $, height: $)). However using command + R or clicking start button to see preview .app, while non resizing application my ZStack show as cutted. Please tell me how to set preview .app frame size as width, height... The buttom code is ContentView.swift code. @main struct ContentView: App { init() { MyFont.registerFonts() } // @StateObject private var audioPlayer = AudioPlayer() var body: some Scene { WindowGroup { NavigationStack { StartMenuView() .frame(minWidth: 594, maxWidth: 594, minHeight: 1142, maxHeight: 1142) .preferredColorScheme(.dark) // Dark Mod .statusBar(hidden: true) // Hidden Status Bar .edgesIgnoringSafeArea(.all) // Ignoring Safe Area } } .windowResizability(.contentSize) } } Thank you for reading. ![]("https://developer.apple.com/forums/content/attachment/8ad9f219-6caa-49bf-b8c3-e4b7c91ab40f" "title=image.png;width=1050;height=803") ![]("https://developer.apple.com/forums/content/attachment/395ee85e-9543-4bfd-9caf-3ce3c2ca8414" "title=image2.png;width=1104;height=973")
0
0
461
Feb ’25
Metal Integration with SwiftUI
Hello! I have asked this question in previous years, but I want to make sure I can be safe as each challenge could be different. Are applicants for the Swift Student Challenge allowed to use the features and technologies involved with Metal/MetalKit? Last year, the answer was yes. I have seen a few people here and there use it with Swift and won. I would like to know if we can use it for the 2025 challenge for this year as well. Thanks! :)
2
0
990
Feb ’25
How to add a macOS dock icon from Sketch into Swift Playground?
Hi, friends! I have a Keynote file, in which I create design for macOS applications settings and system settings, that I use and which are installed on my Mac. I like to record my settings so that every time I reinstall the system or an application I can open my file and set it up exactly the way I want. It's like a user manual, only it looks nice with Mac design elements. And I do it in a presentation (Keynote). I also use a Sketch for the design. I want to turn all this into an app for myself, using Swift Playground. Does anyone know how to, for example, add a macOS Dock icon from a Sketch to Swift Playground?
Replies
2
Boosts
0
Views
359
Activity
May ’25
Unabled compiler
Hello the community, how are you? Since few days, this messages displays as an error into my code: "The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions" Since all these days, I'm not able to solve this problem. My app is almost done and the code is good. But I don't find where the problem is from. Here's the block where the message appears: var body: some View { //The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions VStack { TextField("Search invoices...", text: $searchText) .padding(10) .background(Color.gray.opacity(0.1)) .cornerRadius(10) .padding(.horizontal) HStack { ForEach(BillFilter.allCases) { filter in Button(action: { selectedFilter = filter }) { Text(filter.rawValue) .padding() .background(selectedFilter == filter ? Color.accentColor : Color.gray.opacity(0.2)) .foregroundColor(selectedFilter == filter ? .white : .black) .cornerRadius(8) } } All the best,
Replies
1
Boosts
0
Views
372
Activity
May ’25
no option for "Extended Runtime Session"
How can I enable "Extended Runtime Sessions" for a companion watch app? Here https://developer.apple.com/documentation/watchkit/using-extended-runtime-sessions in targets under 'Signing & Capabilities' I checked "Audio" and Session Type 'Mindfulness', I created an ExtendedRuntimeManager.swift file. When running a simulation the error message says "Extended Runtime Session ungültig: Reason=-1, Error=This application does not have appropriate permissions to schedule a session." How does the app get the 'appropriate permissions'?
Replies
1
Boosts
0
Views
474
Activity
May ’25
How to install codes from Playground on iPhone
Hi there, I'm currently learning how to write some code using Swift Playgrounds on my Mac, and I'm wondering if there's a way to install the code I create onto my iPhone, like a regular app. I've searched online quite a bit but haven't found any clear or definitive answers. Many resources mention a "Run on iPhone" option in Swift Playgrounds, but I don't see that button in my version. I even installed Xcode and connected my iPhone to my Mac, following the instructions I found, but the "Run on iPhone" option still doesn't appear in Playgrounds. I've updated my Mac, iPhone, and Playgrounds to the latest version. Thank you for your help!
Replies
1
Boosts
0
Views
606
Activity
Apr ’25
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!
Replies
6
Boosts
1
Views
468
Activity
Apr ’25
初学者怎么学习使用swift和xcode
第一次接触swift编程,swift playground里面编程入门挺简单的,因为英语也不好,不知道怎么入手了
Replies
1
Boosts
0
Views
302
Activity
Mar ’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()) } } }’
Replies
4
Boosts
0
Views
745
Activity
Mar ’25
5 day project 😏😏
] TODO Item Item 1 Item 2 linkText TODO Item language
Replies
1
Boosts
0
Views
485
Activity
Mar ’25
The 4.6.3 version of playground can not find the sample App download interface
After updating playgroud to the latest 4.6.3 version, the original sample app download interface disappeared. I tried many methods but couldn't find it again. How should I retrieve it again? Or was it deleted in this version?
Replies
1
Boosts
0
Views
494
Activity
Mar ’25
Swift Playground 4.6 - App Fails to Run with import AppIntent
Hi everyone, I’ve been developing an app using Swift Playgrounds, and it was working fine in version 4.5. However, after updating to Swift Playground 4.6, the app no longer runs. After some testing, I found that the issue occurs when import AppIntent is included. Here’s a simple example: import SwiftUI //import AppIntents // <- If this line is included, Preview and Run fail. @main struct MyApp: App { var body: some Scene { WindowGroup { Image(systemName: "globe") .imageScale(.large) .foregroundColor(.accentColor) Text("Hello, world!") } } } Has anyone else encountered this issue? Thanks!
Replies
2
Boosts
1
Views
513
Activity
Mar ’25
Making a Screenshot Without Right Hardware
I’m looking to publish an app I’ve written on my iPad (Air, to be exact), but I can’t make a screenshot at the required size (which is Pro). And yes, I don’t have a Mac (yeah, I know). Is there an easy or simple way to get a screenshot of an app if I don’t have the right hardware? Is this something I could scale/resize from a smaller device? Or, could I just include a portion of the actual screenshot in a picture (with the correct dimension) that has other text/information? any help would be greatly appreciated
Replies
0
Boosts
0
Views
358
Activity
Mar ’25
Save Data from Swift Playgrounds App (Mac)
How do you save data from a Swift Playgrounds App on the Mac? I get an error 'playgroundSharedDataDirectory is not supported in Swift Playgrounds' I think it's doable, some of the Swift Playgrounds tutorials remember the pages I've completed. This is with Playgrounds 4.5.1 on a Mac mini M2 Pro running OSX 14.7 (Sonoma) Ideally, I'd like to save multiple 'documents' and allow the user to select which one they want to work with. The documents don't need to be visible to other Apps. Thanks in advance
Replies
1
Boosts
0
Views
587
Activity
Feb ’25
PlaygroundSupport no longer available for Playground apps
In Swift Playground 4.6.2 the package PlaygroundSupport is no longer available to Playground apps. The following test previously permitted apps run in the Playground vs compiled in XCode to support different behavior: #if canImport(PlaygroundSupport) container = NSPersistentContainer(name: "myApp", managedObjectModel: Self.createModel()) #else container = NSPersistentCloudKitContainer(name: "myApp") #endif Since Swift Playground 4.6.2 the PlaygroundSupport package is no longer available for app projects in Playgrounds. Is there a different compile type test which can be used to differentiate compilation for Swift Playground apps ? I am currently having to use a runtime workaround (below) but would prefer a compile time test is an alternative is available. public static var inPlayground: Bool { if Bundle.allBundles.contains(where: { ($0.bundleIdentifier ?? "").contains("swift-playgrounds") }) { return true } else { return false } }
Replies
1
Boosts
1
Views
1.1k
Activity
Feb ’25
Playgrounds not able to be built on iPad
I developed my app on xcode, and it builds fine for xcode on simulator. However, when I transferred the swiftpm file to my ipad, the playground failed to build with only the error message "Build failed", while preview on playgrounds works fine. I am not sure what the cause of the error is, if anyone has any tips that would be greatly appreciated. Thank you.
Replies
1
Boosts
0
Views
707
Activity
Feb ’25
iOS 18.3.1 in Playgrounds
With iOS 18.3.1 in Playground there is a different view in TabView: in Preview the systemImage are visible and the TabView is visible under, instead launching the app the systemImage it is no longer visible. How can I solve it? Thank you
Replies
1
Boosts
0
Views
579
Activity
Feb ’25
Cannot change file names
I have created a model folder and some swift files that are contained inside the folder. I change the file names to reflect structure or content and when I close the project and reopen it the file names revert to "New File" I am using Swift Playgrounds on Mac. Not Xcode Playgrounds
Replies
1
Boosts
1
Views
682
Activity
Feb ’25
Xcode: Skipping Duplicate Build File in Compile Sources in a .swiftpm Project – How to Fix?
I'm trying to add Assets.xcassets to a .swiftpm project, but I'm getting the warning: ⚠️ Ignoring duplicate build file in build source build phase (Just to know, that is about developing in XCODE, in Swift Playgrounds does not appear it, even in this second being harder to setting up) The problem is that there are no “Build Phases” in XCODE to remove duplicate files manually. I've already tried adding the path of Assets.xcassets in the resources property of Package.swift, like: .executableTarget( name: "AppModule", path: ".", resources: [ .process("Assets.xcassets") ] ) Even so, the warning persists. Does anyone know how to solve this? Is there any way to remove duplicate references or force a cleanup of the Swift Package Manager cache to fix it? I appreciate any tips! 🙏🚀
Replies
2
Boosts
2
Views
999
Activity
Feb ’25
Bug in ‘Learn to Code 2’ – ‘Variables: Seeking Seven Gems’ Causing Errors Regardless of Actions
I’ve encountered a bug in Swift Playgrounds within “Learn to Code 2”, specifically in the “Variables: Seeking Seven Gems” section. No matter what I do—or even if I do nothing at all—an error always occurs. I’ve tested this on both an iPad (9th generation) and an iPad Pro 11-inch (4th generation), and the issue happens on both devices. Has anyone else experienced this? Any ideas on how to fix or work around it? Thanks!
Replies
1
Boosts
1
Views
734
Activity
Feb ’25
How to custom swift playground preview application ($title.app) window size
I used Swift Playground to develop application in Mac OS. Also using ZStack I used limited area in full page (using .frame(width: $, height: $)). However using command + R or clicking start button to see preview .app, while non resizing application my ZStack show as cutted. Please tell me how to set preview .app frame size as width, height... The buttom code is ContentView.swift code. @main struct ContentView: App { init() { MyFont.registerFonts() } // @StateObject private var audioPlayer = AudioPlayer() var body: some Scene { WindowGroup { NavigationStack { StartMenuView() .frame(minWidth: 594, maxWidth: 594, minHeight: 1142, maxHeight: 1142) .preferredColorScheme(.dark) // Dark Mod .statusBar(hidden: true) // Hidden Status Bar .edgesIgnoringSafeArea(.all) // Ignoring Safe Area } } .windowResizability(.contentSize) } } Thank you for reading. ![]("https://developer.apple.com/forums/content/attachment/8ad9f219-6caa-49bf-b8c3-e4b7c91ab40f" "title=image.png;width=1050;height=803") ![]("https://developer.apple.com/forums/content/attachment/395ee85e-9543-4bfd-9caf-3ce3c2ca8414" "title=image2.png;width=1104;height=973")
Replies
0
Boosts
0
Views
461
Activity
Feb ’25
Metal Integration with SwiftUI
Hello! I have asked this question in previous years, but I want to make sure I can be safe as each challenge could be different. Are applicants for the Swift Student Challenge allowed to use the features and technologies involved with Metal/MetalKit? Last year, the answer was yes. I have seen a few people here and there use it with Swift and won. I would like to know if we can use it for the 2025 challenge for this year as well. Thanks! :)
Replies
2
Boosts
0
Views
990
Activity
Feb ’25