We built a automatic test pipeline for testing some scripting functionality under MacOS/iOS, though my question is only about the MacOS side.
Say, the UE4.27’s Mac shipping app is working fine with our Mac mini + m2 Pro + OS Sonoma + SCREEN OFF, while the UE5.3’s Mac shipping one is not when SCREEN OFF.
We implement this test stage by launching a .net application, inside we start a process targeting the shipping app with redirected stdout (we enabled logging in shipping).
If the Mac has monitor SCREEN ON, everything is fine, we can see the log flush as normal, while for the UE5.3’shipping, when SCREEN OFF, we discovered that the log paused on message “Clearing the OS cache”, when I light the monitor, the log flushed with MacOS warning:
WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:
Then the whole UE thread seems back sleep, I can not bring back the window and have to force kill the UE process.
It seems the 4.27 and 5.3 (maybe 5.x) has different MacOS application setup in regard of this behavior (if not, why 4.27 is totally fine though?), I am not familiar with MacOS vanilla development (no I haven’t write a single app with objective-c), need some guidance like what module in UE is responsible for such behavior so I can manage to fix it?