I'm trying to set up my iOS application so that it has two view controllers, one a MTKView and the other a GLKView. In my main storyboard I have a top level View Controller Scene, that has two Container Views. The first Container View references a subclass of GLKViewController that I have created and when the app launches my GLKViewController's viewDidLoad gets called. (So that is good!) My second Container View references a subclass of UIViewController (which I've named MetalViewController) but when the app launches MetalViewController's viewDidLoad never gets called. (So that is my problem I'm trying to figure out!)
In the storyboard editor if I click on Metal View Controller Scene the assistant editor switches to show the MetalViewController's viewDidLoad code. Also the identiy inspector shows my custom class MetalViewController. If I open the Metal View Controller Scene (by clicking on the small arrow head) immediately below I see Metal View Controller which I can select. When I do that, I see the same as when viewing the scene, ie the custom class is MetalViewController. Opening Metal View Controller and clicking on View, I see that my custom class is MTKView. In all of the above it looks to me like my MetalViewController class's code is assigned and that viewDidLoad should run. (I should also mentioned that I have tried control dragging my view controller from the storyboard to my code to connect them)
All the above is similar to the Apple provided sample source code OpenGLMetalInteroperability which has both an OpenGL view controller and a metal view controller.
Anyone have any idea why my viewDidLoad would not be called for my second view controller (the MetalViewController) but is called for my first view controller? And what do I need to do to have my second view controller's viewDidLoad called? (And subsequent draw calls)