Migrate iOS sub-project to required UIKit scene-based lifecycle#1260
Merged
SaschaWillems merged 6 commits intoSaschaWillems:masterfrom Mar 18, 2026
Merged
Migrate iOS sub-project to required UIKit scene-based lifecycle#1260SaschaWillems merged 6 commits intoSaschaWillems:masterfrom
SaschaWillems merged 6 commits intoSaschaWillems:masterfrom
Conversation
SaschaWillems
requested changes
Mar 16, 2026
Owner
SaschaWillems
left a comment
There was a problem hiding this comment.
I can't test myself, but I'm sure this works fine on iOS.
Just had a remark on copyright changes.
gpx1000
reviewed
Mar 16, 2026
Owner
|
With the copyright remarks addressed, I'm fine with merging this. |
Owner
|
Merged. Thank you very much for all your contributions! |
Contributor
Author
|
Thanks @SaschaWillems for merging. Happy to contribute here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Apple is requiring iOS apps to adopt their new UIKit scene-based lifecycle. iOS 26 is the final version that will support the old-style application-based lifecycle. Users of the Vulkan examples project on iOS and the iOS Simulator currently receive deprecation warnings that apps built with the old-style lifecycle will not run in future iOS versions.
I thought I would get a start on this before the dead end arrives and the project will not run. The attached code updates the Vulkan examples iOS sub-project to adopt UIKit's SceneDelegate class and scene management concepts. It was not too difficult but I struggled initially before making sure I was using a Metal-capable backing layer for the application view, otherwise Vulkan swapchain creation would not succeed. This was more automatic in the older setup, and now has to be more explicit.
Anyways, all good now and the iOS examples project should work without any deprecation warnings.
Tested using Xcode 26.3 on macOS Sequoia 15.7.4 targetting: