52inc / Pulley

A library to imitate the iOS 10 Maps UI.
https://cocoapods.org/pods/Pulley
MIT License
2.02k stars 265 forks source link

iOS 13 feedback loop with latest release 2.8.3 #396

Closed glorysaber closed 3 years ago

glorysaber commented 3 years ago

With the latest update to 2.8.3 I am also running into a feedback loop now. Its happening on non-homebutton devices (Because thats the only devices we use it for in our app) on devices like the iPhone pro max but only in iOS 13. Its the same feedback loop stack every-time. I included the stack trace for the feedback loop as its highly reproducible. When the drawer is open and you go to the home-screen and then back.

StackTracePulleyFeedBackLoop.txt

glorysaber commented 3 years ago

Is not reproducible on 2.8.2, sending a build of my app to my beta testers using 2.8.2 now to see if it is fixed.

ulmentflam commented 3 years ago

@glorysaber Thanks! I have been looking into these issues via #390

ulmentflam commented 3 years ago

@glorysaber Can you replicate this issue on the Demo App for me? I am unable to replicate this feedback loop on my devices and the difference between 2.8.2 and 2.8.3 was very minor so I would love to track this loop down.

glorysaber commented 3 years ago

I just tried and was unable to reproduce in the default demo app. Ill take a look how we use it and see if there is a significant difference.

glorysaber commented 3 years ago

Ok so what makes it reproducible is this in the DrawerContentViewController.

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        guard let drawerVC = self.parent as? PulleyViewController else {
            return
        }
        drawerVC.setNeedsSupportedDrawerPositionsUpdate()
    }

This is what causes it to get in a loop with 2.8.3 but not 2.8.2

glorysaber commented 3 years ago

I will play around with that function I posted above to see if I can fix it.

ulmentflam commented 3 years ago

@glorysaber I have pushed a theoretical fix to the xcode12 branch, if you could pull that down and see if that fixes your issue that would be much appreciated!

glorysaber commented 3 years ago

Yes thank you @ulmentflam! That seems to have done the trick!

ulmentflam commented 3 years ago

@glorysaber Awesome, this update is going out now, thanks for your report!

ulmentflam commented 3 years ago

This issue has been fixed in release 2.8.4