LeoNatan / LNPopupController

A framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps.
MIT License
3.04k stars 342 forks source link

Bug: Stuck on endless loop when on iPad with Split View #585

Closed BLeeEZ closed 2 days ago

BLeeEZ commented 2 days ago

Describe the Bug:

First of all: Thank you very much for this great project. I am using this project for Amperfy (https://github.com/BLeeEZ/amperfy) for a while now. I have tested v2.20.5 on macOS, iOS and horizontal/landscape iPadOS and it works fine except for iPadOS Split View. In iPadOS SplitView, LNPopupController seems like to get stuck in an endless loop (100% CPU load without visual progress). In the following I share a screenshot of the simulator debugger stack trace when pressing debugger pause at some time:

Bildschirmfoto 2024-11-04 um 20 59 00

Reproduction:

  1. Open a project with LNPopupController on an iPad
  2. Press the "..." button in iPadOS and press "Split View"
  3. Select another app to show on the other half of the screen:
Bildschirmfoto 2024-11-04 um 21 09 43
  1. Press on the Popup Bar.
  2. App freezes on 100% CPU load.

Expected Behavior:

Open the embedded view, like it does on macOS, iOS and horizontal/landscape iPadOS

Screenshots and/or Videos:

No response

Additional Context:

No response

LeoNatan commented 2 days ago

Hello, Could you reproduce this issue in a small proejct? I have thoroughly tested the framework with all the various iPad multitasking modes, and for me, it works as it should. Thanks

LeoNatan commented 2 days ago

You can also test the included demo project with multitasking and different settings to see if you can find a configuration that reproduces the issue.

BLeeEZ commented 2 days ago

Thank you for your fast reply. The problem is somewhere inside my view that should be presented. I am sorry for the inconvenience.

LeoNatan commented 2 days ago

No worries. If you have trouble figuring it out, you can open a discussion and we can ponder together.