I have a NavigationSplitView with a sidebar. When selecting a new item on the sidebar, the app crashes. The error message says:
Simultaneous accesses to 0x6000030107f0, but modification requires exclusive access.
Xcode shows that the crash occurs inside the generated code in my class with @Observable macro.
@ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
internal nonisolated func access<Member>(
keyPath: KeyPath<NavModel , Member>
) {
_$observationRegistrar.access(self, keyPath: keyPath)
}
internal nonisolated func withMutation<Member, MutationResult>(
keyPath: KeyPath<NavModel , Member>,
_ mutation: () throws -> MutationResult
) rethrows -> MutationResult {
// Crash occurs on the following line
try _$observationRegistrar.withMutation(of: self, keyPath: keyPath, mutation)
}
@ObservationIgnored private var _section: SidebarSection? = .one
To reproduce the crash, I tap a new item on the sidebar until the app crashes. It usually only takes 1-3 times selecting a new item before the crash occurs.
Below is the code for an entire app to reproduce the crash. Has anyone else encountered this issue? Thank you!
import SwiftUI
@main
struct NavigationBugApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
@Observable
class NavModel {
var section: SidebarSection? = .one
}
enum SidebarSection: Hashable {
case one
case two
}
struct ContentView: View {
@State private var model = NavModel()
var body: some View {
NavigationSplitView {
List(selection: $model.section) {
NavigationLink("One", value: SidebarSection.one)
NavigationLink("Two", value: SidebarSection.two)
}
.listStyle(.sidebar)
} detail: {
Text("Hello World")
}
}
}
#Preview {
ContentView()
}
Posts under wwdc2023-10148 tag
4 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Is the complete source code for the Party Planner app available anywhere?
The 'Code' tab in the Developer app only has snippets from the talk.
(Sorry for having to post this in the wwdc20023 forum. The UI does not have any of the wwdc2022 tags in the picker anymore)
Thanks.
my Mac is M1 Pro 2021 , I recently updated to macOS Sonoma and it was fine, of course a lot of softwares weren't working but it's common right? But when I am opening canvus in Xcode 15 and working in it , my mac's screen started blinking crazy that I can't use it now and the mac was freeze and need to shut down . . Is it just me?
I have a Utility app that does not have a Dock icon and runs in the menu bar. On macOS Sonoma (14 DB 1) you cannot use anymore the workaround that we used on previous versions of the macOS, as you get a warning that you should use SettingsLink.
NSApp.sendAction(Selector(("showSettingsWindow:")), to: nil, from: nil)
But the issue is, that before I usually were calling as well NSApp.activate(ignoringOtherApps: true) to activate the app. As clicking on the MenuBar app icon does not do that.
The SettingsLink only opens the Settings Scene, but does not actually activates the app. I could not find a workaround how to do so. As I cannot inject my code in SettingsLink call.
Any ideas how I can activate my app when SettingsLink is called?