We’re currently working on adding support for a Menu Bar in a cross-platform app built with SwiftUI, aiming to reuse the existing macOS menu bar implementation for iPadOS. The basic functionality is working well, but we’ve run into several challenges due to missing APIs—or ones we may have overlooked. We’d appreciate any insights or suggestions on the following issues:
(Xcode 26 beta 3, iPadOS 26 beta 3)
Command Handlers (Copy, Cut, Paste, Delete)
On iOS/iPadOS, handlers like onCopyCommand, onCutCommand, onPasteCommand, and onDeleteCommand are unavailable. Since we also can’t hide the default context menus, we’re unsure how to properly implement these functions. How can we best support copy/paste behavior on iPadOS using the menu bar?
Undo/Redo Support
Undo and redo work as expected on macOS, but on iPadOS, the menu items are always grayed out—even though undo/redo functionality is available in the app. Is there a recommended way to enable these items in the menu bar for iPadOS?
Hiding Unused Menu Items
We’d like to hide system-provided menu items that aren’t relevant to our app, such as:
- Open…
- Select All
- Customize Toolbar…
- New Window, Show All Windows, Open Windows, etc.
Is there a way to control which default items appear in the menu bar?
App Settings Menu
Is it possible to customize the App Settings menu so it opens our app’s settings view inside the app (similar to a SwiftUI .sheet or navigation push)?
Lastly
We couldn’t find a comprehensive example that covers most use cases for implementing a custom menu bar on iPadOS using SwiftUI. If there’s an open-source project or documentation that you’ve found helpful, we’d love to see it.
Thanks in advance for your help!