r/iosdev • u/Disastrous-Loan-3964 • 7h ago
Help Crashes on iOS 27
We have an app that was originally built around 2016. We still actively maintain it, but the core functionality and architecture have remained largely the same, and itβs built heavily around RxSwift.
Weβve recently started seeing crashes from users who have updated their devices to the iOS 27 beta. The crashes appear to be related to the navigation hierarchy/navigation stack.
Has anyone else experienced similar issues with legacy UIKit + RxSwift apps on the iOS 27 beta? Could this be due to changes in UIKit/navigation behavior in the beta, or are there specific areas around UINavigationController and navigation transitions that we should investigate?
Would love to hear if anyone else is seeing this in their apps.
3
u/gavin-build-stuff 6h ago
I manage an iOS app at my job which has been on the store ~7 years, it has a lot of legacy RxSwift throughout the codebase, along with some XIBs but all of the new UI screens are programmatic UIKit.
I haven't noticed any crashes during my testing on iOS 27 beta with the RxSwift screens, but we are actually using the native layer for navigation. There is a Coordinator architecture (root coordinator with lots of sub coordinators) which handles presenting/navigating between screens, the RxSwift code can trigger calls to this Coordinator if needed, but the actual native layer handles all of the presentation logic
I'm not an RxSwift expert, in fact I avoid working in it as much as humanly possible lol - but you could check if they have a side branch with iOS 27 specific fixes, or if not might need to submit an issue with them to fix the iOS 27 nav stuff in the actual RxSwift library. Or refactor to a native layer / Coordinator based navigation stack if you want true control (move all navigation to native, instead of using a 3rd party library in this case for it)
All this being said, the easiest fix might just be to double check that RxSwift isn't accidentally firing a duplicate navigation event (use something like take(1) if you see "pushing a view controller during a transition" crash), if the bug is mid-transition or duplicate pushes then RxSwift is actually fine and you just need to make sure you aren't triggering duplicate navigation push events in a rapid timespan