Hello,
I am having a recurring issue using Swift Playgrounds version 4.6.4 on macOS 26.1.
Upon opening a file and every other time I start typing in the code section I get a prompt, the image below, two or three times. It doesn't matter if I accept or decline all or some of the prompts, as soon as I start typing on another line I get prompted another two or three times for permission.
It appears to me that prompt generates every time the preview pane tries to update. Declining the prompt breaks the preview but accepting the prompt only gets you through a single line of code before it appears again.
I believe this issue started after I updated to macOS26.1 as I had not encountered it before. I've also opened other files with Swift Playgrounds and encounter the same problem.
It could also be unrelated to the update and could be an issue with some permission setting somewhere, however, I have been unable to find what or where it could be.
Is anyone else experiencing this?
Thank you for your time :)
Swift Playground
RSS for tagLearn and explore coding in Swift through interactive learning experiences on the Swift Playground app for iPadOS and macOS.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I am preparing for Swift Student Challenge, but it seems like the iPad Playground app still not support the latest SDK.
I can't use frameworks like FoundationModel, etc., directly in playground app
My playground for this year would require iPad environment since it uses PencilKit, ARKit, etc., and I also want to use the latest tech + the liquid glass UI
Right now, I develop the project as a normal Xcode project, and I am wondering how do I post it?
As Xcode playground, it must run on macOS
As Swift Playground project, the iPad version of Playground does not support latest APIs and it can't compile
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Swift Student Challenge
Education
Playground Support
Hello All,
I am currently working through ”Keep going with Apps” in Swift Playground. The section in the tutorial “Add a DancingCreature view” will not complete. I have tried to type it is as written in the tutorial and even used the copy and paste button provided. I have restarted the app and my IPad with no success. I have attached a screen shot of the tutorial prompt.
Here is the code block:
import SwiftUI
import Guide
struct DancingCreatures: View {
//#-learning-code-snippet(varDeclaration)
@EnvironmentObject var data : CreatureZoo
var body: some View {
SPCAssessableGroup(view: self) {
VStack {
ZStack {
/*#-code-walkthrough(dance.forEach)*/
ForEach(data.creatures) { creature in
/*#-code-walkthrough(dance.forEach)*/
/*#-code-walkthrough(dance.textView)*/
Text(creature.emoji)
.resizableFont()
.offset(creature.offset)
.rotationEffect(creature.rotation)
/*#-code-walkthrough(dance.textView)*/
}
}
ZStack {
/*#-code-walkthrough(dance.forEach)*/
ForEach(data.creatures) { creature in
/*#-code-walkthrough(dance.forEach)*/
/*#-code-walkthrough(dance.textView)*/
Text(creature.emoji)
.resizableFont()
.offset(creature.offset)
.rotationEffect(creature.rotation)
/*#-code-walkthrough(dance.textView)*/
//#-learning-code-snippet(exp1)
//#-learning-code-snippet(animationSolution)
//#-learning-code-snippet(exp3)
}
}
/*#-code-walkthrough(dance.onTap)*/
.onTapGesture {
data.randomizeOffsets()
}
/*#-code-walkthrough(dance.onTap)*/
/*#-code-walkthrough(dance.onTap)*/
.onTapGesture {
data.randomizeOffsets()
}
/*#-code-walkthrough(dance.onTap)*/
}
}
}
}
struct DancingCreatures_Previews: PreviewProvider {
static var previews: some View {
DancingCreatures().environmentObject(CreatureZoo())
}
}
Device information: IPad Pro (11 inch, 2nd gen)
iPad OS Version: 26.0.1
Playground Version: 4.6.4
Anyone else come across this?
Thank you in advance.
Environment:
Swift Playgrounds (macOS)
SwiftUI App Preview
macOS version: 26.2 (25C56)
Issue:
In Swift Playgrounds on macOS, the app repeatedly shows the system permission dialog:
“My App would like to access data from other apps.
Keeping app data separate makes it easier to manage your privacy and security.”
Steps to Reproduce:
Create a new SwiftUI app in Swift Playgrounds.
Run the SwiftUI App Preview.
When the permission dialog appears, click “Allow”.
Expected Result:
The permission should be granted once and persist, allowing the preview to continue normally.
Actual Result:
After clicking “Allow”, the SwiftUI App Preview crashes and restarts.
When the preview restarts, the same permission dialog appears again.
This repeats indefinitely, creating a loop.
Notes:
This occurs even when no explicit file system or inter-app data access code is written.
The permission choice does not appear to persist between preview restarts.
Question:
Is this a known limitation of Swift Playgrounds sandboxing or SwiftUI App Preview?
Is there an official workaround or recommended approach to avoid this behavior while using Swift Playgrounds?
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
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!
Hello! I would like to use Speech Framework on my App Playground for this year challenge. But I still can't understand if I am allowed to use it to respect the rule of "not rely on a network connection". That's why:
Speech framework can use on-device Speech recognition –
No internet connection needed ✅.
But it can ask to download an Apple's native language package to use it for this on-device recognition – To get this, you need to be connected to the Internet ❌.
When I try to add a Speech Recognition Capabilities on my App Playground, its' description says: "Required to perform speech recognition using Apple's servers." (screenshot is attached). Does it mean that I won't be able to use on-device recognition on my App Playground? – And therefore, only online-version of this framework is available and I can't use it to participate on the challenge successfully❓.
If it's possible, could you please make it clearer? This framework is crucial for my App Playground and I really need this to make it work.
Thanks for your help in advance! And a have a good day!
I use Swift Playgrounds on iPad to run an intro to programming class with high school students. I've created some custom playground books based on Apple's guides to provide some simple sandboxes to learn basic coding.
Students simply click a button on my website, which downloads my playground books so students can easily create new sandboxes.
With Swift Playgrounds 4.6.1 on both Mac and iPad, clicking the link only opens Swift Playgrounds and does not download my playground books! There used to be an "Add a Subscription URL" button, but it is no longer present on the Learn to Code page or anywhere else in the app that I can find:
Is it intentional that this functionality is removed? Playground Books still appear to work, and documentation for subscription feeds is still available.
I start another session with my students next Monday, so I need to know as soon as possible whether I need to plan to work around this myself.
Thanks,
Mark Schmidt
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Swift Playground
Playground Support
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! 🙏🚀
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Swift Student Challenge
Swift
Swift Playground
Xcode
In swift playgrounds on my Mac I keep getting this message, “Keep Going with Apps” would like to access data from other apps. I click allow but it the message keeps popping back up.
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Hey, meanwhile it's a great thing to program apps on the iPad and to be able to load them into the App Store Connect and the App Store.
What about localization in the meantime? When I open the folder en.lproj in sample apps from XCode, then there are two files stored in it:
Glossary.plist (XML) and
Localizable.strings (binary)
Is it correct that XCode creates binary files from the strings? Otherwise, Swift Playgrounds already offers localization in the localized learning content, but i guess the binary files can only be created in XCode?
My M2 Pro Mac mini with OSX 14.7 just updated to Swift Playgrounds 4.6.1. Now the :Learn to Code & Build Apps screen is limited in size and can't be zoomed. There is no way to scroll horizontally and I can't view the whole screen.
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
Hello folks,
I'd like to report a bug in Swift Playground to Apple official dev team, it's in "Learn to Code 2" - "Seeking Seven Gems".
The puzzle map can't be loaded, please check the following screenshot,
My system environment:
MacOS 15.3
Swift 6.0.3 (swift-driver version: 1.115.1 Apple Swift version 6.0.3 (swiftlang-6.0.3.1.10 clang-1600.0.30.1))
Swift Playground 4.6.2
Xcode 16.2
Hardware: MacBook Pro/M2 Pro/32G
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Developer Tools
Swift Student Challenge
Swift
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!
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
}
}
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Developer Tools
Swift Playground
Playground Support
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!
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())
}
}
}’
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!
I clicked the “Get” button in the Swift tutorial, and it started displaying a circular progress bar. However, when the progress bar was full, it did not show that I could use this tutorial, but still display “Get”.
Device: iPad (7th)
System: iPadOS 18.3.2
App Version: 4.6.4
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.