In WWDC video 208 - Designing Great Apple Watch Experiences, starting at about the 13:25 mark, the presenter describes the Dexcom G5 Mobile App which displays some custom information in the doc that's easier or more relevant for viewing in the dock. When the app goes full screen, the app transitions to display different information. I would like to do something similar but I've not been able to figure out how to catch when my app goes full screen from the dock.
So far in a WKSnapshotRefreshBackgroundTask I've been able to push an interface controller I'd like to display when my app is viewed in the dock, but I'd like to dismiss that controller when my app goes full screen. I was hoping to piggy back off of willActivate, didAppear or willEnterForeground but those can happen long before my app actually goes full screen. In fact, I found that willActivate and didAppear are called during the WKSnapshotRefreshBackgroundTask when my interface controller is presented, while running in the background. Later when I press the dock button on the side of the watch and my app appears in the dock, my app receives willEnterForeground even if I don't actually open my app. In other words, just bringing up the dock and scrolling through the apps in the dock sends willEnterForeground to the apps. Does watchOS 3 send my app some other message or trigger when the user actually opens my app from the dock? I'm basically looking for some "hook" so that I can dismiss the controller.
Perhaps this is an enhancement request for a didEnterForeground method but it appears that in the WWDC video the Dexcom app received some message/trigger when the app went full screen.