macOS (operating system)#
macOS is a series of proprietary operating systems developed by Apple for their own hardware. It's designed exclusively for the Apple ecosystem, providing users with a powerful and user-friendly platform to operate their devices.
Early Access Feature
At the moment, support of macOS in AUI Framework is in early stage and lacks a lot of features.
macOS shares its XNU kernel and codebase with iOS (operating system).
Due to closed nature of Apple platforms, a single macOS machine is considered as the only option for AUI/application development for all supported platforms at once: - macOS - natively (obviously) - iOS - natively (via Xcode) - Android - natively (via Android Studio) - Windows - via VM - Linux - via VM - Emscripten (WebAssembly) - natively
Key considerations#
- You'd want to support both architectures -
x86_64and Apple Siliconarm64by producing universal binaries - Application menu is located in system's top bar instead of being inside the window
- macOS hardware offers high density displays (marketing name: Retina), so you need to use density-independent dimension units such as _dp
- Apple laptops include high quality touchpads with high resolution scroll and possibility for multitouch gestures
AUI implementation specifics#
- macOS launches only one instance of a bundle by itself (unless started with
open -nor the executable is run directly). Clicking the Dock icon while the application is running without windows emitsAApplication::activated(Application lifetime & instancing). Cmd+Qdoes not callexit(): the main loop is stopped and control returns toaui_main, so destructors and cleanup of yourAUI_ENTRYrun normally.- The app does not terminate when the last window is closed if it is held with
AApplication::holdorAApplication::quitOnLastWindowClosedis disabled.