What I found is ?
Try to scroll horizontally between the interface controllers inside a root page controller.
Randomly after a while (30-1 min).
You will find that one of the interface controllers gets missing.
Blank view is shown, UI disappears completely. ( Black view with no interface ).
Try to open the view debugger in XCode, you will find that the Interface window of the view is missing from the page view controller hierarchy.
To reproduce
Create a new application.
Create a new Watch application
Added 2 additional interface controllers to the storyboards
Add Identifier for both
Inside the initial interface controller call
WKInterfaceController.reloadRootPageControllers(withNames: ["View1","View2"], contexts: ["View1","View2"], orientation: .horizontal, pageIndex: 1)
- Run the application on Watch OS 6 Series 3 ( Simulator or A device )
- Try to scroll randomly
What I expect from the Page controller to hold the interface controllers as it should and it shouldn't show a blank black screen, while the user is scrolling.
I had the same issue and it was due to calling
crownSequencer.focus()
without a correspondingcrownSequencer.resignFocus()
call. In my case I was callingfocus()
indidAppear()
and once I added aresignFocus()
call towillDisappear()
the problem went away.Similar question here: Black screen page on apple watch apps with more that one page