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.