Is UIScreen.screens supported in macCatalyst?

In my iOS apps, I can get a list of the current UIScreens, but it seems in macOS 10.15.0 GM in macCatalyst, this never happens?

UIScreen.main has the wrong sizes, for all properties related to the size of the screen.

When I plug in an external screen, I don't get the did connect or did disconnect notifications, and UIScreen.screens still has only 1 screen.

When I drag my window to the other screen, I get a did change mode notification.


UIScreen was such a nice api on iOS, and so much cleaner than the api's on mac, that I thought it would be easy to port my app which uses a full-screen external screen feature, but now it appears there is no external screen support at all, other than the user can drag the windows there?


I even tried adding a UIWindowSceneSessionRoleExternalDisplay scene, to see if that would unlock some kind of functionality, and though I'm able to trigger it manually in code, I don't see any other changed behaviors. No automatic initialization of the scene when the external display, no automatic placement of the window in the external screen.


Identical results when useing SideCar.


Am I seriously stuck using CGGetOnlineDisplayList ?

Replies

Hi,

Did you find a better/easier solution?
How do you display the content on the new screen? On iPad, I was using the second screen, attached it to a window. This does not seem to work here, since the second screen is not detected.

Daniel