Popovers are broken on macCatalyst

.popover(isPresented: modifier doesn't work on Mac Catalyst when attached to the item in the toolbar. The app crashes on button click, when trying to present the popover.

  • iOS 26 RC (macOS 26 RC)
  • Feedback ID - FB20145491

import SwiftUI

struct ContentView: View {
    @State private var isPresented: Bool = false

    var body: some View {
        NavigationStack {
            Text("Hello, world!")
            .toolbar {
                ToolbarItem(placement: .automatic) {
                    Button(action: {
                        self.isPresented.toggle()
                    }) {
                        Text("Toggle popover")
                    }
                    .popover(isPresented: $isPresented) {
                        Text("Hello, world!")
                    }
                }
            }
        }
    }
}

#Preview {
    ContentView()
}

Apple expect us to create bland list apps only; anything beyond that breaks down. SwiftUI is broken from a design point of view, use the old trusty UIKit, designed before Tim, and call it a day. As you can see, Apple doesn't care, no one has answered you for a week.

I’m having the same error here, Mac OS 26.1 (25B78) using UIKit. Has anyone found a solution?

@stoope

Thanks for your post and code. Using your code I was able to show the popover without seen a crash using Xcode Version 26.2 beta (17C5013i) that is in beta at the developer website. Can you try that and let me know if resolves your issue?

I would recommend to provide a focused sample and a link to the repository so we can test and see the issue.

If you're not familiar with preparing a test project, take a look at Creating a test project.

Albert Pascual
  Worldwide Developer Relations.

Popovers are broken on macCatalyst
 
 
Q