Incorrect scene is activated on opening handoff user activity on macCatalyst

I have a doc app consisting of two types of scenes, "Default Configuration" and "About".

When an about scene is created, I set its activation condition to NO, so it does not get activated for any userActivity or URLContext: scene?.activationConditions.canActivateForTargetContentIdentifierPredicate = NSPredicate(value: false)

Now, I open an about scene and some default configuration scenes. If the about scene is on top, then when opening a handoff user activity, this about scene gets activated instead of the default ones, or a new default scene being created. If the about scene is in background or it is not created, a correct default scene is activated and passed the activity.

Opening documents from finder works fine in both cases, a default scene is activated and it gets URLContext objects.

Is this the expected behaviour?

I found a workaround but it feels like a workaround. I enable activation on the about scene: scene?.activationConditions.canActivateForTargetContentIdentifierPredicate = NSPredicate(value: false)

Then in the about scene, I listen to scene(_:userActivity:), get the activity when it gets activated, pass it to UIApplication.shared.delegate, which in turn requests a new scene activation and passes the activity object to this new scene. In this case, a scene with the correct default configuration gets activated.

I'm running the tests on macOS 12.4 if it matters.

Replies

This is not expected behavior. UserActivity should follow scene activation conditions in the same way as URLContext. If the issue still reproduces on Ventura, please report this using Feedback Assistant, and include steps to reproduce as well as a small sample app (or pair of sample apps) that demonstrates the issue. Thank you!