0

What I found is ?

Try to scroll horizontally between the interface controllers inside a root page controller.

  1. Randomly after a while (30-1 min).

  2. You will find that one of the interface controllers gets missing.

  3. Blank view is shown, UI disappears completely. ( Black view with no interface ).

  4. 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.

Community
  • 1
  • 1
  • No solution I’m afraid, but I’ve also seen this in recent changes to my Watch app. Only occurred after I’d added a third view controller, and switched to SwiftUI - no idea if they are related – John Pollard Oct 29 '19 at 06:55
  • Unscientifically I haven’t seen it since upgrading to WatchOS 6.1 yesterday, so hopefully fixed – John Pollard Oct 30 '19 at 07:43
  • Thanks for your comment, I did confirm that it is working perfectly with WatchOS 5 Problem clearly a bug in WatchOS 6. Updating for WatchOS 6.1 now. – Ahmed Fahmy Oct 30 '19 at 14:48
  • I updated to WatchOS 6.1 and that solved the issue, also noticed that same issue can be easily reproduced on apple own documentation examples. – Ahmed Fahmy Nov 04 '19 at 11:57
  • I still experience this with watchOS 6.1 – BartoszCichecki Dec 10 '19 at 12:49
  • I also face the same. Tried watchOS 5.0, 6.0 and 6.1. At some point, the scenes start disappearing. – programmist Dec 16 '19 at 07:56

1 Answers1

0

I had the same issue and it was due to calling crownSequencer.focus() without a corresponding crownSequencer.resignFocus() call. In my case I was calling focus() in didAppear() and once I added a resignFocus() call to willDisappear() the problem went away.

Similar question here: Black screen page on apple watch apps with more that one page

jerarts
  • 31
  • 3