summaryrefslogtreecommitdiffstats
path: root/src/gui/platform/ios
Commit message (Collapse)AuthorAgeFilesLines
* visionOS: Add support for immersive spacesTor Arne Vestbø2024-05-141-0/+26
| | | | | | | | | | | | | | | | | | | | | | The QNativeInterface::QVisionOSApplication interface allows opening and dismissing an immersive space, as well as registering a compositor layer implementation that can be used to configure the compositor layer and render to it with Metal. The compositor layer implementation is consulted both for immersive spaces triggered explicitly, and when the default scene of the app is set to CPSceneSessionRoleImmersiveSpaceApplication via the UIApplicationPreferredDefaultSceneSessionRole in the Info.plist. All of this requires that the application follows the SwiftUI app lifecyle, so our application entrypoint is now a SwiftUI app. The existing qt_main_wrapper used for the QIOSEventDispatcher handles this transparently, so there is no change for the user, who will still receive a callback to main() when the Swift app is ready to build its UI hierarchy. Change-Id: Ic295010d714e90cd4d3f66bd90f321438659f3a6 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* cmake: Generate Apple privacy manifest files for Qt modulesTor Arne Vestbø2024-02-131-0/+23
The default manifest is a minimal file that claims NSPrivacyTracking false, along with an empty list of NSPrivacyTrackingDomains and NSPrivacyCollectedDataTypes, as Qt does not generally do user tracking. Modules can override the default manifest by setting the PRIVACY_MANIFEST target property, specifying a custom privacy manifest. The NSPrivacyAccessedAPITypes key is only required for iOS for now. Even though we don't build Qt for iOS as frameworks yet, which is required to embed a privacy manifest, we include the keys for the APIs we known we use. Task-number: QTBUG-114319 Change-Id: I654bb52b98ee963adeeb744b35f3a1c2a1270969 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>