Post

Replies

Boosts

Views

Activity

SKView showsFields draws only on a portion of the screen
The SKView.showsFields = true only draws on a portion of the screen - nothing shows on the bottom-left. This can be easily tested using Apple's default game playground. I only removed the action for the Hello World label and added a radialGravityField into the scene. Also other fields like electricField do not draw anything on the screen. Tested in Xcode 11.7 and Xcode 12.5.1. Is this a bug in the recent releases? override func didMove(to view: SKView) { // ... let field = SKFieldNode.radialGravityField() addChild(field) } and sceneView.showsFields = true
5
1
2.2k
Jul ’26
App stuck "In Review" for 15 days after it was approved
Our app (id 1611398578) has been stuck "In Review" in App Store Connect for 15 days, after being approved quickly by App Review. We contacted Apple Support multiple times through email and phone, but we did not receive any response. Today we tried re-submitting a new version hoping it will trigger a system reset and fix the issue. The submission for iOS was approved very fast by App Review, but it is again stuck "In Review". PLEASE APPLE HELP US GET THIS ISSUE RESOLVED!
2
0
245
Apr ’26
App stuck "In Review" for 7 days after being approved
Hello, Our app has been stuck in "In Review" for 7 days, after being approved. The iOS version was approved on April 9th and the macOS version was approved on April 12th. Since then, both versions show "In Review" and there has been no status changes or messages in App Store Connect. • April 8 ---> Waiting for Review • April 9 ---> In Review (Approved) • ... • April 16 ---> In Review We contacted Apple a week ago (case ids 102865508515 and 102865870578) but there was no response. We also talked to Apple Support, they told us the issue has been escalated to the technical team. There are also leaderboards that were archived before these last versions and they are still showing in the Games App and Game Center. Possibly because of this same issue, we suspect. At this point we don't know what the issue is, how long until these very important updates will go live, or when we can push other updates. App ID: 1611398578 Thanks.
7
0
549
Apr ’26
ScrollView with .viewAligned and .scrollPosition() not updating on orientation (size) changes
The scroll position is not updated when orientation changes in a ScrollView with .scrollTargetBehavior(.viewAligned) and .scrollPosition(). import SwiftUI struct ContentView: View { let colors: [Color] = [.red, .yellow, .cyan, .blue, .teal, .brown, .orange, .indigo] @State private var selected: Int? = 0 var body: some View { ScrollView(.horizontal) { HStack(spacing: 0) { ForEach(0..<colors.count, id: \.self) { index in Rectangle() .fill(colors[index]) .containerRelativeFrame(.horizontal) .overlay { Text(colors[index].description) } } } .scrollTargetLayout() } .scrollPosition(id: $selected) .scrollTargetBehavior(.viewAligned) } } #Preview { ContentView() } @main struct ViewAlignedScrollBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.3.1 iPhone, iOS 17.4 Simulator. Bug report FB13685677 filed with Apple.
2
1
1k
Oct ’25
GameKit Achievements, Leaderboards and Challenges not showing on iOS 26 beta 4 in the Game Center UI (opened from GKAccessPoint)
On an iPad running iPadOS 26 beta 4, when tapping the Game Center Access Point, the overlay doesn’t show the configured achievements, leaderboards or challenges. I should specify this is an in-development app and the achievements and leaderboards are in the “Not Live” state, however they show on other devices running iOS 18 in the Access Point UI. Anyone else having this issue? If so, how should I test achievements and leaderboards while iOS 26 beta is out? The UI looks like this on iPadOS 26:
2
0
1.3k
Aug ’25
Contents of .sheet() are being redrawn after dismiss and not presenting
Use Case If you have a ContentView that displays a pausable view based on a @State private var presentSheet = false property that is also used to present a .sheet(isPresented: $presentSheet) if: the property is sent to the PausableView(isPaused: presentSheet) as a normal property, the body of the ContentView and the body of the sheet is being redrawn when the sheet is dismissed the property is sent to the PausableView(isPaused: $presentSheet) as a @Binding, the body of the ContentView and the body of the sheet is NOT redrawn when the sheet is dismissed Is this normal behavior? The ContentView body makes sense to change, but is the sheet's body also supposed to be redrawn when the sheet is not presenting anymore after dismiss? Sample Project A sample project created in Xcode 13 is available here: https://github.com/clns/SwiftUI-sheet-redraw-on-dismiss. I noticed the same behavior on iOS 14 and iOS 15. There are also 2 animated gifs showing the 2 different behaviors in the GitHub project. The relevant code is in ContentView.swift: import SwiftUI struct DismissingView: View { @Binding var isPresented: Bool var body: some View { if #available(iOS 15.0, *) { print(Self._printChanges()) } else { print("DismissingView: body draw") } return VStack { Button("Dismiss") { isPresented.toggle() } Text("Dismissing Sheet").padding() }.background(Color.white) } } struct PausableView: View { var isPaused: Bool // @Binding var isPaused: Bool private let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() @State private var counter = 0 var body: some View { Text("Elapsed seconds: \(counter)") .onReceive(timer) { _ in counter += isPaused ? 0 : 1 } } } struct ContentView: View { @State private var presentSheet = false var body: some View { if #available(iOS 15.0, *) { print(Self._printChanges()) } else { print("ContentView: body draw") } return VStack{ Button("Show Sheet") { presentSheet.toggle() } Text("The ContentView's body along with the .sheet() is being redrawn immediately after dismiss, if the @State property `presentSheet` is used anywhere else in the view - e.g. passed to `PausableView(isPaused:presentSheet)`.\n\nBut if the property is passed as a @Binding to `PausableView(isPaused:$presentSheet)`, the ContentView's body is not redrawn.").padding() PausableView(isPaused: presentSheet) // PausableView(isPaused: $presentSheet) } .sheet(isPresented: $presentSheet) { DismissingView(isPresented: $presentSheet) .background(BackgroundClearView()) // to see what's happening under the sheet } } }
2
1
1.9k
Feb ’25
Xcode 16 beta 5 MainActor errors in a Swift 6 project while working in beta 4
After updating to Xcode 16.0 beta 5 (16A5221g) on macOS Sonoma 14.6 I am getting lots of errors like: Main actor-isolated property '[property name]' can not be mutated from a nonisolated context in classes that are marked as @MainActor at the class level, e.g.: @MainActor final class MyClass: AnotherClass { ... } The project uses Swift 6 and there are no errors in Xcode 16 beta 4. I tried restarting, clearing Derived Data, cleaning build folder... Anyone else encountering this issue with beta 5?
1
1
1.2k
Aug ’24
Offset modifier not working when used inside a scoped animation (iOS 17) in SwiftUI
The target view has .opacity() and .offset() modifiers in a scoped animation (iOS 17): Text("Hello, world!") .animation(.default) { $0 .opacity(animate ? 1 : 0.2) .offset(y: animate ? 0 : 100) // <-- DOESN'T WORK } But only the .opacity() works when the state is changed directly or withAnimation{}. The .offset() only works when using withAnimation{}, even though it should animate in both cases, like opacity. Is this a SwiftUI bug? Did anyone encounter this? import SwiftUI struct ContentView: View { @State private var animate = false var body: some View { VStack(spacing: 20) { Button("Toggle Scoped Animation") { animate.toggle() } Button("Toggle withAnimation{}") { withAnimation { animate.toggle() } } Text("Hello, world!") .animation(.default) { $0 .opacity(animate ? 1 : 0.2) .offset(y: animate ? 0 : 100) // <-- DOESN'T WORK } } } } #Preview { ContentView() } @main struct ScopedAnimationOffsetBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.4 Simulator and iPhone Device. Bug report FB13693703 filed with Apple.
4
0
1.8k
Mar ’24
TabView content stops off-center after an animated transition
There seems to be a bug with SwiftUI's TabView when used with .tabViewStyle(.page) and any animated .transition() that moves the view horizontally (e.g. .move(edge: .leading/.trailing)), .slide, .offset(), etc.) in landscape orientation. When the tab view transitions in, the content appears off-center and the animation goes back and forth before it stabilizes. import SwiftUI struct ContentView: View { @State private var showTabView = false var body: some View { VStack { Button("Toggle TabView") { showTabView.toggle() } Spacer() if showTabView { TabView { Text("Page One") Text("Page Two") } .tabViewStyle(.page) .transition(.slide) } } .animation(.default, value: showTabView) } } #Preview { ContentView() } @main struct TabViewTransitionBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.3.1 iPhone, iOS 17.4 Simulator. Bug report FB13687638 filed with Apple.
1
0
1.3k
Mar ’24
Older macs on BigSur won't be able to develop iOS 15.4+ apps anymore?
Since Xcode 13.3 Beta can only be installed on macOS Monterey 12 or later, according to the Xcode 13.3 Beta Release Notes: Xcode 13.3 beta includes SDKs for iOS 15.4, iPadOS 15.4, tvOS 15.4, watchOS 8.5, and macOS Monterey 12.3 Xcode 13.3 beta requires a Mac running macOS Monterey 12 or later. Does this mean that older macs that can only run BigSur (e.g. Macbook Pro 2014) cannot develop apps for iOS 15.4+?
4
1
6.7k
Jun ’23
Xcode scene editor not displaying svg textures from reference nodes
While working with SVG textures, it seems that the Xcode Scene Editor is not displaying the texture in an SKReferenceNode. Instead, it just shows an X placeholder. To replicate this, simply: Create a new Game template project in Xcode Add a new scene .sks file that contains a SKSpriteNode with an .svg texture Drag the newly added .sks file into the main game scene and you'll see the X placeholder image instead of the proper texture Has anyone dealt with this problem? Is there any known workaround to make Xcode display the textures properly? This is using Xcode Version 13.1 (13A1030d) on macOS Big Sur 11.6.1.
1
0
882
Nov ’21
SpriteKit draw calls not batched when using a texture atlas from data stored in the app bundle
It seems that SpriteKit doesn't batch the draw calls for textures in the same texture atlas. There are two different behaviors, based on how the SKTextureAtlas gets initialized: The draw calls are not batched when the texture atlas is initialized using SKTextureAtlas(named:) (loading the texture atlas from data stored in the app bundle). But the draw calls seem to be batched when the texture atlas is created dynamically using SKTextureAtlas(dictionary:). The following images show the two different behaviors and the SpriteAtlas inside the Assets Catalog. 1. Draw calls not batched: 2. Draw calls batched: The SpriteAtlas: I created a sample Xcode 13 project to show the different behavior: https://github.com/clns/spritekit-atlas-batching. I have tried this on the iOS 15 simulator on macOS Big Sur 11.6.1. The code to reproduce is very simple: import SpriteKit class GameScene: SKScene { override func didMove(to view: SKView) { let atlas = SKTextureAtlas(named: "Sprites") // let atlas = SKTextureAtlas(dictionary: ["costume": UIImage(named: "costume")!, "tank": UIImage(named: "tank")!]) let costume = SKSpriteNode(texture: atlas.textureNamed("costume")) costume.setScale(0.3) costume.position = CGPoint(x: 200, y: 650) let tank = SKSpriteNode(texture: atlas.textureNamed("tank")) tank.setScale(0.3) tank.position = CGPoint(x: 500, y: 650) addChild(costume) addChild(tank) } } Am I missing something?
1
0
1.4k
Nov ’21
SKView showsFields draws only on a portion of the screen
The SKView.showsFields = true only draws on a portion of the screen - nothing shows on the bottom-left. This can be easily tested using Apple's default game playground. I only removed the action for the Hello World label and added a radialGravityField into the scene. Also other fields like electricField do not draw anything on the screen. Tested in Xcode 11.7 and Xcode 12.5.1. Is this a bug in the recent releases? override func didMove(to view: SKView) { // ... let field = SKFieldNode.radialGravityField() addChild(field) } and sceneView.showsFields = true
Replies
5
Boosts
1
Views
2.2k
Activity
Jul ’26
App stuck "In Review" for 15 days after it was approved
Our app (id 1611398578) has been stuck "In Review" in App Store Connect for 15 days, after being approved quickly by App Review. We contacted Apple Support multiple times through email and phone, but we did not receive any response. Today we tried re-submitting a new version hoping it will trigger a system reset and fix the issue. The submission for iOS was approved very fast by App Review, but it is again stuck "In Review". PLEASE APPLE HELP US GET THIS ISSUE RESOLVED!
Replies
2
Boosts
0
Views
245
Activity
Apr ’26
App stuck "In Review" for 7 days after being approved
Hello, Our app has been stuck in "In Review" for 7 days, after being approved. The iOS version was approved on April 9th and the macOS version was approved on April 12th. Since then, both versions show "In Review" and there has been no status changes or messages in App Store Connect. • April 8 ---> Waiting for Review • April 9 ---> In Review (Approved) • ... • April 16 ---> In Review We contacted Apple a week ago (case ids 102865508515 and 102865870578) but there was no response. We also talked to Apple Support, they told us the issue has been escalated to the technical team. There are also leaderboards that were archived before these last versions and they are still showing in the Games App and Game Center. Possibly because of this same issue, we suspect. At this point we don't know what the issue is, how long until these very important updates will go live, or when we can push other updates. App ID: 1611398578 Thanks.
Replies
7
Boosts
0
Views
549
Activity
Apr ’26
ScrollView with .viewAligned and .scrollPosition() not updating on orientation (size) changes
The scroll position is not updated when orientation changes in a ScrollView with .scrollTargetBehavior(.viewAligned) and .scrollPosition(). import SwiftUI struct ContentView: View { let colors: [Color] = [.red, .yellow, .cyan, .blue, .teal, .brown, .orange, .indigo] @State private var selected: Int? = 0 var body: some View { ScrollView(.horizontal) { HStack(spacing: 0) { ForEach(0..<colors.count, id: \.self) { index in Rectangle() .fill(colors[index]) .containerRelativeFrame(.horizontal) .overlay { Text(colors[index].description) } } } .scrollTargetLayout() } .scrollPosition(id: $selected) .scrollTargetBehavior(.viewAligned) } } #Preview { ContentView() } @main struct ViewAlignedScrollBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.3.1 iPhone, iOS 17.4 Simulator. Bug report FB13685677 filed with Apple.
Replies
2
Boosts
1
Views
1k
Activity
Oct ’25
GameKit Achievements, Leaderboards and Challenges not showing on iOS 26 beta 4 in the Game Center UI (opened from GKAccessPoint)
On an iPad running iPadOS 26 beta 4, when tapping the Game Center Access Point, the overlay doesn’t show the configured achievements, leaderboards or challenges. I should specify this is an in-development app and the achievements and leaderboards are in the “Not Live” state, however they show on other devices running iOS 18 in the Access Point UI. Anyone else having this issue? If so, how should I test achievements and leaderboards while iOS 26 beta is out? The UI looks like this on iPadOS 26:
Replies
2
Boosts
0
Views
1.3k
Activity
Aug ’25
Contents of .sheet() are being redrawn after dismiss and not presenting
Use Case If you have a ContentView that displays a pausable view based on a @State private var presentSheet = false property that is also used to present a .sheet(isPresented: $presentSheet) if: the property is sent to the PausableView(isPaused: presentSheet) as a normal property, the body of the ContentView and the body of the sheet is being redrawn when the sheet is dismissed the property is sent to the PausableView(isPaused: $presentSheet) as a @Binding, the body of the ContentView and the body of the sheet is NOT redrawn when the sheet is dismissed Is this normal behavior? The ContentView body makes sense to change, but is the sheet's body also supposed to be redrawn when the sheet is not presenting anymore after dismiss? Sample Project A sample project created in Xcode 13 is available here: https://github.com/clns/SwiftUI-sheet-redraw-on-dismiss. I noticed the same behavior on iOS 14 and iOS 15. There are also 2 animated gifs showing the 2 different behaviors in the GitHub project. The relevant code is in ContentView.swift: import SwiftUI struct DismissingView: View { @Binding var isPresented: Bool var body: some View { if #available(iOS 15.0, *) { print(Self._printChanges()) } else { print("DismissingView: body draw") } return VStack { Button("Dismiss") { isPresented.toggle() } Text("Dismissing Sheet").padding() }.background(Color.white) } } struct PausableView: View { var isPaused: Bool // @Binding var isPaused: Bool private let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() @State private var counter = 0 var body: some View { Text("Elapsed seconds: \(counter)") .onReceive(timer) { _ in counter += isPaused ? 0 : 1 } } } struct ContentView: View { @State private var presentSheet = false var body: some View { if #available(iOS 15.0, *) { print(Self._printChanges()) } else { print("ContentView: body draw") } return VStack{ Button("Show Sheet") { presentSheet.toggle() } Text("The ContentView's body along with the .sheet() is being redrawn immediately after dismiss, if the @State property `presentSheet` is used anywhere else in the view - e.g. passed to `PausableView(isPaused:presentSheet)`.\n\nBut if the property is passed as a @Binding to `PausableView(isPaused:$presentSheet)`, the ContentView's body is not redrawn.").padding() PausableView(isPaused: presentSheet) // PausableView(isPaused: $presentSheet) } .sheet(isPresented: $presentSheet) { DismissingView(isPresented: $presentSheet) .background(BackgroundClearView()) // to see what's happening under the sheet } } }
Replies
2
Boosts
1
Views
1.9k
Activity
Feb ’25
Xcode 16 beta 5 MainActor errors in a Swift 6 project while working in beta 4
After updating to Xcode 16.0 beta 5 (16A5221g) on macOS Sonoma 14.6 I am getting lots of errors like: Main actor-isolated property '[property name]' can not be mutated from a nonisolated context in classes that are marked as @MainActor at the class level, e.g.: @MainActor final class MyClass: AnotherClass { ... } The project uses Swift 6 and there are no errors in Xcode 16 beta 4. I tried restarting, clearing Derived Data, cleaning build folder... Anyone else encountering this issue with beta 5?
Replies
1
Boosts
1
Views
1.2k
Activity
Aug ’24
Offset modifier not working when used inside a scoped animation (iOS 17) in SwiftUI
The target view has .opacity() and .offset() modifiers in a scoped animation (iOS 17): Text("Hello, world!") .animation(.default) { $0 .opacity(animate ? 1 : 0.2) .offset(y: animate ? 0 : 100) // <-- DOESN'T WORK } But only the .opacity() works when the state is changed directly or withAnimation{}. The .offset() only works when using withAnimation{}, even though it should animate in both cases, like opacity. Is this a SwiftUI bug? Did anyone encounter this? import SwiftUI struct ContentView: View { @State private var animate = false var body: some View { VStack(spacing: 20) { Button("Toggle Scoped Animation") { animate.toggle() } Button("Toggle withAnimation{}") { withAnimation { animate.toggle() } } Text("Hello, world!") .animation(.default) { $0 .opacity(animate ? 1 : 0.2) .offset(y: animate ? 0 : 100) // <-- DOESN'T WORK } } } } #Preview { ContentView() } @main struct ScopedAnimationOffsetBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.4 Simulator and iPhone Device. Bug report FB13693703 filed with Apple.
Replies
4
Boosts
0
Views
1.8k
Activity
Mar ’24
TabView content stops off-center after an animated transition
There seems to be a bug with SwiftUI's TabView when used with .tabViewStyle(.page) and any animated .transition() that moves the view horizontally (e.g. .move(edge: .leading/.trailing)), .slide, .offset(), etc.) in landscape orientation. When the tab view transitions in, the content appears off-center and the animation goes back and forth before it stabilizes. import SwiftUI struct ContentView: View { @State private var showTabView = false var body: some View { VStack { Button("Toggle TabView") { showTabView.toggle() } Spacer() if showTabView { TabView { Text("Page One") Text("Page Two") } .tabViewStyle(.page) .transition(.slide) } } .animation(.default, value: showTabView) } } #Preview { ContentView() } @main struct TabViewTransitionBugApp: App { var body: some Scene { WindowGroup { ContentView() } } } Tested on Xcode 15.3 (15E204a), iOS 17.3.1 iPhone, iOS 17.4 Simulator. Bug report FB13687638 filed with Apple.
Replies
1
Boosts
0
Views
1.3k
Activity
Mar ’24
Older macs on BigSur won't be able to develop iOS 15.4+ apps anymore?
Since Xcode 13.3 Beta can only be installed on macOS Monterey 12 or later, according to the Xcode 13.3 Beta Release Notes: Xcode 13.3 beta includes SDKs for iOS 15.4, iPadOS 15.4, tvOS 15.4, watchOS 8.5, and macOS Monterey 12.3 Xcode 13.3 beta requires a Mac running macOS Monterey 12 or later. Does this mean that older macs that can only run BigSur (e.g. Macbook Pro 2014) cannot develop apps for iOS 15.4+?
Replies
4
Boosts
1
Views
6.7k
Activity
Jun ’23
Xcode scene editor not displaying svg textures from reference nodes
While working with SVG textures, it seems that the Xcode Scene Editor is not displaying the texture in an SKReferenceNode. Instead, it just shows an X placeholder. To replicate this, simply: Create a new Game template project in Xcode Add a new scene .sks file that contains a SKSpriteNode with an .svg texture Drag the newly added .sks file into the main game scene and you'll see the X placeholder image instead of the proper texture Has anyone dealt with this problem? Is there any known workaround to make Xcode display the textures properly? This is using Xcode Version 13.1 (13A1030d) on macOS Big Sur 11.6.1.
Replies
1
Boosts
0
Views
882
Activity
Nov ’21
SpriteKit draw calls not batched when using a texture atlas from data stored in the app bundle
It seems that SpriteKit doesn't batch the draw calls for textures in the same texture atlas. There are two different behaviors, based on how the SKTextureAtlas gets initialized: The draw calls are not batched when the texture atlas is initialized using SKTextureAtlas(named:) (loading the texture atlas from data stored in the app bundle). But the draw calls seem to be batched when the texture atlas is created dynamically using SKTextureAtlas(dictionary:). The following images show the two different behaviors and the SpriteAtlas inside the Assets Catalog. 1. Draw calls not batched: 2. Draw calls batched: The SpriteAtlas: I created a sample Xcode 13 project to show the different behavior: https://github.com/clns/spritekit-atlas-batching. I have tried this on the iOS 15 simulator on macOS Big Sur 11.6.1. The code to reproduce is very simple: import SpriteKit class GameScene: SKScene { override func didMove(to view: SKView) { let atlas = SKTextureAtlas(named: "Sprites") // let atlas = SKTextureAtlas(dictionary: ["costume": UIImage(named: "costume")!, "tank": UIImage(named: "tank")!]) let costume = SKSpriteNode(texture: atlas.textureNamed("costume")) costume.setScale(0.3) costume.position = CGPoint(x: 200, y: 650) let tank = SKSpriteNode(texture: atlas.textureNamed("tank")) tank.setScale(0.3) tank.position = CGPoint(x: 500, y: 650) addChild(costume) addChild(tank) } } Am I missing something?
Replies
1
Boosts
0
Views
1.4k
Activity
Nov ’21