ephread/Instructions

"[ERROR] The overlay view added to the window has empty bounds, Instructions will stop.", when trying to show the coachMarksController

bswiftdev opened this issue · 5 comments

Describe the bug

when "self.coachMarksController.start(in: .window(over: self))" is executed, we get the error "[ERROR] The overlay view added to the window has empty bounds, Instructions will stop." in the console.

To Reproduce

  • normal set up with a button containing the line "self.coachMarksController.start(in: .window(over: self))"

Expected behavior

The coach make should appear

Screenshots

Environment:

  • Device:
    iPad Pro(12.9-inch)
  • iOS version:
    13.1.3
  • Dependency Manager:
    'Instructions', '~> 1.4.0'

Additional context

Hey @zivato, I can't reproduce the issue. Is this happening as well with the example project? Are you able to provide a project showcasing the problem?

Having same issue!

Have the same issue. It seems to be related to displaying the coachMarksController in the window over the current view controller (self.coachMarksController.start(in: window, over: self)) when using the new SceneDelegate setup in iOS13. I haven't figured out why it doesn't work, but I suspect the way iOS13 handles UIWindows breaks something in the framework.

I worked around the problem by using self.coachMarksController.start(in: .currentWindow(of: self)) instead.

That must be it, thanks a lot for the pointer @gmcheese. I didn't think of this, I'll investigate!

I'm not certain slide-over is properly supported — I'll test this later, but it should fix the issue for all the other cases on iPad (and of course, on iPhone). Thanks again @gmcheese!