playsrg-apple
playsrg-apple copied to clipboard
Account view interactive dismissal hangs on iOS 15
Starting with iOS 15 the interactive gesture which can be used to dismiss the account view hangs during progress. The app remains responsible, the close button can be tapped but does not trigger dismissal anymore. The only way out is to kill and restart the app.
No issue arises on iOS 14 with either 3.2.0, 3.4.0 or 3.5.0 nightlies (which I picked for my tests).
Workaround: Use the close button which works as expected.
Issue type
Incorrect behavior
Environment information
- Application version: Tested with 3.2.0, 3.4.0 and upcoming 3.5.0 nightlies
- iOS: 15
- Device: Physical or simulator; iPhone and iPad affected in the same way
Reproducibility
Always reproducible
Steps to reproduce
- Login in Play RTS (if not already logged in).
- Tap on the account header.
- Grab the view on the left and attempt to dismiss it. After a short distance the animation gets stuck.
Some interesting facts:
- SRG Identity and SRG User Data demos work fine.
- RTS Info works fine as well.
The problem is therefore with Play. I first suspected some tools we use but this is not the case. The issue is somewhere in TabBarController
implementation, in particular with its mini player. To "fix" the crash we can:
- Remove the mini player view.
- Comment out all constraints which access
self.view
.
Both are required and I suspect this is related to a subtle change in iOS 15. I am not sure the issue is easy to fix on our side (I doubt we do something really wrong, and the behavior on prior iOS versions is fine). This is why I recommend we don't do anything for the moment and check whether upcoming iOS updates fix this issue.
If we need to implement a fix we probably need to update both the implementation of the constraints in TabBarController
, as well as those in MiniPlayerView
and its subviews. Not sure how without breaking our existing behaviors.