Skip to content

Migrate iOS sub-project to required UIKit scene-based lifecycle#1260

Merged
SaschaWillems merged 6 commits intoSaschaWillems:masterfrom
SRSaunders:ios-uiscene-fixes
Mar 18, 2026
Merged

Migrate iOS sub-project to required UIKit scene-based lifecycle#1260
SaschaWillems merged 6 commits intoSaschaWillems:masterfrom
SRSaunders:ios-uiscene-fixes

Conversation

@SRSaunders
Copy link
Contributor

@SRSaunders SRSaunders commented Mar 14, 2026

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:

  1. iOS 18.6.2 on a real iPhone 16, and
  2. iOS 26.2 on an iPhone 17 Pro running on iOS Simulator.

Copy link
Owner

@SaschaWillems SaschaWillems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't test myself, but I'm sure this works fine on iOS.

Just had a remark on copyright changes.

Copy link

@gpx1000 gpx1000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works here for OSX.

@SaschaWillems
Copy link
Owner

With the copyright remarks addressed, I'm fine with merging this.

@SaschaWillems
Copy link
Owner

Merged. Thank you very much for all your contributions!

@SaschaWillems SaschaWillems merged commit e90bfdb into SaschaWillems:master Mar 18, 2026
3 checks passed
@SRSaunders
Copy link
Contributor Author

SRSaunders commented Mar 18, 2026

Thanks @SaschaWillems for merging. Happy to contribute here.

@SRSaunders SRSaunders deleted the ios-uiscene-fixes branch March 18, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants