Console
Taqlyn Docs/Platforms/iOS navigation
API v1.41 min read

iOS navigation

Map DeferredLink onto SwiftUI NavigationStack.

LIVE SPECIMEN
Universal & Deferred Link Simulator
URLhttps://taqlyn.com/shop/checkout?cartId=cart_9841&promo=WELCOME20&aff=partner_8
Route: /shop/checkoutMode: Deferred Install

Optional Swift package product TaqlynNavSwiftUI. Copy SdkCore fields into the nav DeferredLink, navigate once per linkId, then consume.

Swift
let navigator = DeepLinkNavigator<AppRoute>(
  map: { link in
    guard let sku = link.params["sku"] else { return nil }
    return [.product(sku)]
  }
)

Task {
  for await sdkLink in SdkCore.observeLinks() {
    let navLink = TaqlynNavSwiftUI.DeferredLink(
      url: sdkLink.url,
      path: sdkLink.path,
      params: sdkLink.params,
      linkId: sdkLink.linkId,
      matchType: MatchType(rawValue: sdkLink.matchType.rawValue) ?? .none,
      isDeferred: sdkLink.isDeferred
    )
    if navigator.navigate(navLink, path: &path) {
      SdkCore.consume(sdkLink.linkId)
    }
  }
}

Bind @State var path to NavigationStack(path: $path). If SwiftUI already handles https, set linkProcessingMode: .deferredOnly.