Post

Replies

Boosts

Views

Activity

Reply to iOS app on MacOS M1 - Window Resize or Full Screen
So can we get a resizable window with iOS on macOS? I'm confused by this statement. Currently we require fullscreen, and only support landscape. But if I turn off UIRequiresFullscreen and state we support all orients, I can get a resizable window. Some elements scale, and other do not. Does that mean that I need to respond to the UIWindowScene scaling, or is the main render always fullscreen size? "When the window is resized, e.g. by using the Window->Zoom menu item, or by taking the window full screen, your fixed-size UIWindowScene is scaled up or down by macOS automatically, and your app does not find out about this."
Topic: Graphics & Games SubTopic: General Tags:
Jun ’23
Reply to Sudden error being logged continuously in XCode console
This is still completely bust in MacOS 12, 13, and 14. Maybe even back as far as 11.0. It's more than just an error message. It breaks using ProMotion in Rosetta apps, and having any chance of reaching 120Hz. CurrentVBLDelta returned 200,000 for display 1 -- ignoring unreasonable value [0x7f85fd07ba20] Bad CurrentVBLDelta for display 1 is zero. defaulting to 60Hz. <- 0 fps is supposed to mean run at maximum refresh, not divide by 0 and compute an invalid vertical blank (f.e. 20000).
Topic: Graphics & Games SubTopic: SpriteKit Tags:
Oct ’23
Reply to "UIDevice.current.batteryLevel" is always "0" in macOS Sonoma 14.4
This is still bust even in macOS 14.5. The initial return of batteryLevel seems to be fine, but when responding from a notification handler it fails and returns 0. So then our app displays the low battery indicator. I'm running iOS on macOS with an M2 Max. Error retrieving battery status: result=-536870207 percent=-2093318143 hasExternalConnected=1 isCharging=5 isFullyCharged=184 p [[UIDevice currentDevice] batteryLevel] (float) 0
Topic: UI Frameworks SubTopic: UIKit Tags:
Sep ’24
Reply to CoreVideo + Rosetta still clamps at 60Hz (since macOS 12)
CVDisplayLink, which is already part of CoreVideo, is used by every macOS app. CADisplayLink is iOS. CAMetalDisplayLink is the compositor for Metal apps to avoid needing MTKView, but has a high iOS/macOS requirement. So I would assume CVDisplayLink isn't going away anytime soon unless Apple plans to break every app out there. 0 is a valid setting for the fps, and doesn't mean Apple computes 1/0 and gets some randomly large integer number, and then clamp the 120Hz display to 60Hz. 0 is meant to indicate "run at highest framerate of the monitor". This only happens for apps compiled for x64 and run under Rosetta, and not if recompiled for arm64. macOS x64 runs the x64 app at 120Hz too. This has to also clamp any games using GPTK too.
Topic: Graphics & Games SubTopic: Metal Tags:
Dec ’25