After some research, I came across these two forum posts, describing exactly the same behaviour: https://developer.apple.com/forums/thread/778184 and https://developer.apple.com/forums/thread/772999. The answer in both was to enable all interface orientations for iPad.
I tried that via the project settings in Xcode:
Alas, selecting all orientations for iPad did not work.
But then I remembered in our app we also (for reasons) define this set of options programmatically, via the AppDelegate. I applied the same changes there:
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
switch UIDevice.current.deviceIdiom { // `deviceIdiom` is our own property for handling device idioms
case .phone:
return .allButUpsideDown
case .pad:
return .landscape
case .mac:
return .all // <-- Return `.all` here!
}
}
And, voila, we have content in popovers on Mac Catalyst!