UIScene Storyboard - Main and Main_iphone

Under threat of future crashes, I'm adding support of UIScene to my existing apps. Each app has two storyboards - Main for iPads and Main_iphone for iPhones. Pre-UIScene, all looks great. With the addition of the Application Scene Manifest, the iPhone versions of the app are using the Main storyboard instead of the Main_iphone storyboard. Do I need to add an item to the plist for this other storyboard? At what level in the plist is this added? Another Scene Configuration? Another Window Application Session Role? Another Storyboard Name?

So, I've made progress on this [Xcode 16.3]. In my SceneDelegate I use:

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions  API_AVAILABLE(ios(13.0)){
   NSLog(@"SceneDelegate received willConnectToSession\n");
   if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
      NSLog(@"Main_iphone Storyboard");
      UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iphone" bundle:nil];
      UISceneConfiguration *configuration = [session configuration];
      [configuration setStoryboard:storyboard];
   }
   else {
      NSLog(@"Main Storyboard");
   }
}

And I have two configurations in the plist:

I also put this in the appDelegate, though it doesn't seem to get called:

- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options  API_AVAILABLE(ios(13.0)){
   NSLog(@"AppDelegate received configurationForConnectingSceneSession\n");
   // Called when a new scene session is being created.
   // Use this method to select a configuration to create the new scene with.
   if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
      NSLog(@"Main_iphone Storyboard");
      return [[UISceneConfiguration alloc] initWithName:@"iPhone Configuration" sessionRole:connectingSceneSession.role];
   }
   else {
      NSLog(@"Main Storyboard");
      return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
   }
}

Everything works fine, except when running the simulator for iPhone 16 Pro Max 18.2 where I get these errors:

AX Safe category class 'SLHighlightDisambiguationPillViewAccessibility' was not found!

Class CKBrowserSwitcherViewController overrides the -traitCollection getter, which is not supported. If you're trying to override traits, you must use the appropriate API. And no scene appears.

Update 2: I changed the Enable Multiple Windows to NO (I thought I might need it to be YES based on the thread here) and now AppDelegatge receives the configurationForConnectingSceneSession call and iPhone 16 Pro Max 18.2 works fine.

UIScene Storyboard - Main and Main_iphone
 
 
Q