The new navigationLinkIndicatorVisibility modifier crashes on < iOS 26

This new modifier is supposedly backported to iOS 17, but on attempting to use it on the latest iOS 18.5, this happens:

Symbol not found: _$s7SwiftUI17EnvironmentValuesV33_navigationIndicatorVisibilityABIAA0G0OvpMV

This happens with any usage of the modifier. An availability check won't save you either.

The cruelest part of this is that I only need the modifier on iOS 26, lmao.

Am I just missing something?

Can you file a bug report with a small piece of code that reproduces this crash, as well as the complete error message? Please post the FB number of your report here for the record.

— Ed Ford,  DTS Engineer

Sure thing, although unfortunately I am not near my MacBook and cannot provide the full error message. It’s FB18988749. I have not tried on Xcode 26 Beta 4 yet.

Seeing same issue with Xcode beta 6 on iOS 18.

I'm doing the following hack which works ok: I do not see any difference between this and using the .navigationLinkIndicatorVisibility modifier.

It places a NavigationLink with no content over your view.

    ZStack {
        YourView()
        // Hack to prevent the disclosure indicator from showing
        NavigationLink(value: ScreenType.detail(toDo.guid)) {
            EmptyView()
        }.opacity(0)
    }
    // .navigationLinkIndicatorVisibility(.hidden) // Not properly backported to  < iOS 26, so crashes on launch. 

I just caught this bug this morning with Xcode 26 beta 6. I promptly filed feedback with a sample project. FB19931677

Still an issue in beta 7.

Seeing this crash in beta 8 (Xcode beta 7).

Symbol not found: _$s7SwiftUI17EnvironmentValuesV33_navigationIndicatorVisibilityABIAA0G0OvpMV
  Referenced from: <35BAAD44-14F4-3B6C-8568-3E8B57A526ED>

My call site:

var allMerchantsSection: some View {
        Section {
            ForEach(model.paginatedMerchants.items) { merchant in
                NavigationLink(value: MerchantDestination.merchant(merchant)) {
                    CardCell(
                        image: .remote(url: merchant.info.bannerUrl),
                        text: merchant.info.merchantName,
                        description: nil,
                        chipText: nil
                    )
                    .navigationLinkIndicatorVisibility(.hidden)
                }
                .listRowBackground(Color.backgroundPrimary)
                .listRowSeparator(.hidden)
                .onAppear {
                    if model.canLoadMore, merchant == model.paginatedMerchants.items.last {
                        model.paginatedMerchants.currentPage += 1
                    }
                }
            }
        } header: {
            Text("All Merchants")
        }
    }

made a feedback report: FB20108722

The new navigationLinkIndicatorVisibility modifier crashes on &lt; iOS 26
 
 
Q