Skip to content

Need to update documentation for setting up deep links for iOS in RN 0.77 #1425

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 of 12 tasks
davepaiva opened this issue Mar 28, 2025 · 8 comments
Open
1 of 12 tasks

Comments

@davepaiva
Copy link

Current behavior

Since the newer versions of RN comes with Swift for iOS , the documentation needs to be updated
https://reactnavigation.org/docs/deep-linking/#setup-on-ios

I dont know enough of Swift to do it , currently stuck.

Expected behavior

need swift code samples

Reproduction

Platform

  • Android
  • iOS
  • Web
  • Windows
  • MacOS

Packages

  • @react-navigation/bottom-tabs
  • @react-navigation/drawer
  • @react-navigation/material-top-tabs
  • @react-navigation/stack
  • @react-navigation/native-stack
  • react-native-drawer-layout
  • react-native-tab-view

Environment

@davepaiva davepaiva added the bug label Mar 28, 2025
Copy link

Couldn't find version numbers for the following packages in the issue:

  • @react-navigation/native

Can you update the issue to include version numbers for those packages? The version numbers must match the format 1.2.3.

Copy link

Hey @davepaiva! Thanks for opening the issue. It seems that the issue doesn't contain a link to a repro, or the provided repro is not valid (e.g. broken link, private repo, code doesn't run etc.).

The best way to get attention to your issue is to provide an easy way for a developer to reproduce the issue.

You can provide a repro using any of the following:

A snack link is preferred since it's the easiest way to both create and share a repro. If it's not possible to create a repro using a snack, link to a GitHub repo under your username is a good alternative. Don't link to a branch or specific file etc. as it won't be detected.

Try to keep the repro as small as possible by narrowing down the minimal amount of code needed to reproduce the issue. Don't link to your entire project or a project containing code unrelated to the issue. See "How to create a Minimal, Reproducible Example" for more information.

You can edit your original issue to include a link to the repro, or leave it as a comment. The issue will be closed automatically after a while if you don't provide a valid repro.

@davepaiva
Copy link
Author

pasting the solution here if anyone needs:

 // Add the header at the top of the file:
import React

// Add this inside `AppDelegate`
internal func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
  return RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)
}

@dougdrury
Copy link

@davepaiva - Thanks for putting this out there, but Xcode does not seem to like it. It is saying it needs an override keyword and also cannot find restorationHandler.

I do have the import React line with the other imports.

Xcode Version 16.2 (16C5032a).
iOS SDK 18.1.
RN Version: 0.78.2.
@react-navigation/native: ^6.1.17
@react-navigation/native-stack: ^6.9.26

Image Any thoughts as to why this would be? Thank you for any input.

@a613
Copy link

a613 commented Apr 8, 2025

Seems like this is good or close to good (RN 0.77 is crashing with SIGABRT at startup, but the build succeeds):

  override func application(
    _ app: UIApplication,
    open url: URL,
    options: [UIApplication.OpenURLOptionsKey: Any] = [:]
  ) -> Bool {
    return RCTLinkingManager.application(app, open: url, options: options)
  }

  override func application(
    _ application: UIApplication,
    continue userActivity: NSUserActivity,
    restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
  ) -> Bool {
    return RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)
  }

@dougdrury
Copy link

dougdrury commented Apr 8, 2025

Cool. I was able to build and run with @a613 update. Now to test deep linking. Thank you!

@Shasikhan
Copy link

what is the solution?

@satya164 satya164 transferred this issue from react-navigation/react-navigation Apr 24, 2025
@Shasikhan
Copy link

So here is the official RN docs for Swift: Deep Linking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants