You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.78.1 AppDelegate.swift配置DeepLinks求助

问题背景

为非Expo环境的React Native 0.78.1应用添加Deep Links支持时,发现官方文档仅提供了Objective-C版本的AppDelegate.m实现代码,但当前项目生成的是AppDelegate.swift,需要对应的Swift实现。

Swift 版本完整实现

在你的AppDelegate.swift文件中,按以下步骤修改:

  1. 导入必要模块
    在文件顶部添加导入语句:
import React
  1. 实现openURL方法
    在AppDelegate类中添加以下方法:
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
  return RCTLinkingManager.application(application, open: url, options: options)
}
  1. 实现continueUserActivity方法
    同样在AppDelegate类中添加以下方法:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
  return RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)
}

完整示例片段

修改后的AppDelegate.swift核心部分如下:

import UIKit
import React

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // 原有初始化代码...
    return true
  }

  // 添加Deep Links支持:openURL方法
  func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    return RCTLinkingManager.application(application, open: url, options: options)
  }

  // 添加Deep Links支持:continueUserActivity方法
  func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    return RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler)
  }

  // 其他原有方法...
}

内容的提问来源于stack exchange,提问作者RJM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:12:34