I've noticed a strange issue with the SceneDelegate lifecycle in iOS 27.
[Environment]
iOS 27 (Also tested on physical devices)
UIKit / SceneDelegate based App
[Description & Steps to Reproduce]
When the app is in the foreground and the user locks the screen (presses the power button):
In iOS 26 and earlier:
sceneWillResignActive is called exactly once. (Expected behavior)
In iOS 27:
The following sequence is called rapidly in succession:
sceneWillResignActive (Screen lock initiated)
sceneDidBecomeActive
sceneWillResignActive (Locks completely)
When the user unlocks the screen later, sceneDidBecomeActive is called once as usual.
[Impact]
Because sceneDidBecomeActive is unexpectedly fired while the device is locking, it triggers foreground logics right before the app is pushed to the background. This is causing unwanted side-effects and glitches.
Has anyone else encountered this unbalanced lifecycle issue in iOS 27?
I'd like to know if there's a better approach or if Apple is aware of this.
Thanks!
1
1
326