MacOS M1 machines can run iOS applications.
We have an iOS application that runs a fullscreen metal game. The game can also run across all desktop platforms via Steam. In additional to Steam, we would like to make it available through the AppStore on MacOS. We'd like to utilise our iOS builds for this so that the Apple payment (micro-transactions) and sign-in processes can be reused.
While the app runs on MacOS, it runs in a small iPad shaped window that cannot be resized. We do not want to add iPad multitasking support (portrait orientation is not viable), but would like the window on MacOS to be expandable to full screen. Currently there is an option to make it full screen, but the metal view (MTKView) delegate does not receive a drawableSizeWillChange event for this, meaning the new resolution of the window cannot be received.
Is there another method of retrieving a window size change event in this context? What is the recommended way of enabling window resizing on MacOS but not iPad for a single iOS app?
Post
Replies
Boosts
Views
Activity
We have an iOS app in Development with in-app purchases that works fine on iOS devices.
When running the app on Apple Silicon Macs, the app locks the mouse pointer and renders its own (via GCMouse listener events).
When the user selects an in-app item to purchase, the operating system displays the purchase confirmation dialog as expected, however because the pointer is still locked, users are unable to click elements on the dialog or see a pointer. I've tried running setNeedsUpdateOfPrefersPointerLocked and returning false prior to the purchase but the pointer remains locked. Is there a better way to immediately release the lock or ensure the in-app purchase dialog gets the mouse pointer?
Thanks.
We have a mouseMovedHandler for GCMouse that gets pointer delta updates (when the pointer is locked). This mostly works fine, but on occasion the handler will go through bouts of delayed updates - it will pause for a few seconds before receiving more updates, even though the hardware mouse pointer is being moved.
The rest of the app continues to be responsive (ie, the MTKView still pushes frames and the Metal frame rate is still smooth). It appears that something is blocking or delaying the GCMouseMoved events being sent by the System to the mouseMovedHandler.
Is there a way we can diagnose this specific delay?
Context: IOS App on Apple Silicon M1.
APIs: Metal, AVAudio (OGG), GCMouse, GCKeyboard
IOS Apps can run on MacOS M1 devices. We have an IOS App that we'd like to run on MacOS, but would like to alter the behaviour of the app depending on whether or not the app is running on MacOS.
Behaviour we want to tailor:
Changing tooltips from 'tap' to 'click' and 'swipe' to 'scroll'.
Selecting higher resolution images from our game assets.
Is there a way to programatically detect that the app is running on MacOS? It seems the User Interface Idiom returns IPAD.
I have developed an iOS application which works well when run from Test Flight on my iOS device.
I would like to release the app on Apple Silicon MacOS devices, so I checked the box to specify that the App can be released on Apple Silicon MacOS devices and downloaded TestFlight on my MacOS.
When I launch my app from TestFlight on my MacOS device, the app closed immediately. I cannot locate any error messages in the Console app. What is the best way to debug the problem that's causing the app to instantly close?
Thanks.