iOS navigation
Map DeferredLink onto SwiftUI NavigationStack.
LIVE SPECIMEN
Universal & Deferred Link SimulatorURL
https://taqlyn.com/shop/checkout?cartId=cart_9841&promo=WELCOME20&aff=partner_8Optional Swift package product TaqlynNavSwiftUI. Copy SdkCore fields into the nav DeferredLink, navigate once per linkId, then consume.
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.