SwiftUI NavigationView broken in iOS 13.3

Since iOS 13.3 the NavigationLink inside a NavigationView is broken. This is only for real iOS devices, the simulator works fine.


Steps to reproduce:

  1. Create a new project with SwiftUI
  2. Replace the ContentView struct with the code at the bottom of this post
  3. Run the app on a physical iOS device with iOS 13.3 beta 2/3
  4. Tap the show detail screen button
  5. Tap back button at the top
  6. Tap the show button again and it doesn't do anything anymore


Note that this bug only occurs on a real device. This worked perfectly fine before in iOS 13.2. I reported this bug in the Feedback Assistant as well (FB7457511)


struct ContentView: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: Text("Detail screen")) {
                Text("Show detail screen")
            }
        }
        .navigationViewStyle(StackNavigationViewStyle())
    }
}
Answered by Thomas Vos in 397161022

The bug appears to be fixed in iOS 13.3 beta 4.

Thomas, i have found the exact same issue and i have to way to make it work properly, any comments on behalf Apple regarding this bug?, if not let's file a Radar with it.

Same! Very frustrating 😟 It's been around for two betas now

Accepted Answer

The bug appears to be fixed in iOS 13.3 beta 4.

Just migrated to the xcode 13.3, the problem backs to the simulator


- On the iOS device, it works well

- BUT on the simulator, only the first tap works to navigate.

its is fixed on the device as you said but, not in the simulator or xcode editor.

I have a similar issue though I'm not using Swift.


I have a perfectly working app on xcode (10.1) that runs in the simulators and actual devices.,


I noticed that Apple is going to require xcode 11 this coming year built on IOS 13 SDK. This required me to buy a new computer. I installed the new xcode and downloaded the app thru GitHub.


The simulator with 13.3 iphone X runs the app without any errors but the behavior is wrong.


On the other computer running xcode 10.1 on an ipad Air 2 simulator, it goes to the signin screen where a user can enter his name. Then it shows a UIAlertview that the database needs to download to which the user presses OK and it downloads a demo database.


On the iphone X simulator, it allows the entry of the user name and it registers within the online server, but it does not prompt with the UIAlertView nor does it start a database download. The screen switches back to the home screen but no data download prompt.


I see other threads on this being a bug in 13.3. Any new news?

I’m experiencing the same thing

It is 12 Mar 2020 and I am running into the same problem on real devices - iPhone X models running production iOS 13.3. Whole QA team is grounded on this.

Hi this is still happening for me (both iOS 13.5 and 13.4), mainly after repeatedly switching between views, did anyone figure it out?
Hello folks ! , we are on the 4th of may 2021 (!)

the UX of a sample APP
I build a sample app based on the {JSON}PlaceHolder website that provides several JSON data we can get

I choosed to have the first fixed set of views we can have as a first list embedded in a navigation view

Tapping an item on that list leads to another list of items
( of posts, of comments, of albums, of photos, of todos, of users)
the secondary list is also embedded in a cascaded navigation View

Tapping an item on the secondary list leads to a detailed view

the behaviors
I have issue quite similar with Navigation view on iOS 14,5 and iPad OS 14,5
on simulator
I have two cascading set of lists

first list of items --> second list of items --> detail of item
on iOS the cascade is correct and the back button are correctly positioned and behave correctly in both portrait and landscape
and the view style is the same on both mode.

Navigating is correct : particularly I can go back to the first list and change the second list.

in portrait mode
on iPAD , whatever the style , the list are always drawn in drawers : the list pops only when I tap on the "back button that is on screen
back buttons are not correctly positioned

Navigating is not correct : I cannot change the second list when I go back to the first list : the second list is fixed to the list I tapped the first timeafter starting the app

in landscape mode :
style is handled, when I asked for two colums style i have it
but Navigating is still not correct : it behave as I told above

Annoter Major issue is that frankly considering that we can have the list on screen only when we on landscape mode and not in portrait
is , considering the screen size of iPad a little bit abusive.
I consider this to be a bug, iusers and developpers should be in control for this

running the app for MAc design for iPad is producing a black screen...
quite weird

running for mac start an app that behave as the Ipad in landscape mode

conclusion
in less word My conclusion as a 30 years experimented software developper is that NavigationView is not professionally usable
we cannot have such bugs to avoid, and can we avoid them ?

Questions
  • How can I fixed that ?

  • Is It even possible?

  • The issue seems to exist since a long time is there a chance to have Apple address these issues seriously one day?

SwiftUI NavigationView broken in iOS 13.3
 
 
Q