首页 > 解决方案 > 从 iOS 原生代码加载路由(objective-c)

问题描述

我正在集成一个 iOS 本机库。该库打开第三方应用程序,此处理数据并使用深度重新加载我的应用程序,该库捕获响应。我想从集成的本机 Objective-C 代码中加载 JS 屏幕组件。

我尝试使用RCTLinkingManager但我不知道如何获取应用程序实例和选项。

[RCTLinkingManager application:app openURL:url options:options];

我怎么做?

标签: iosobjective-c

解决方案


好的,我在 React Native 源代码中找到了解决方案。

RCTLinkingManager.application使用postNotificationWithURL函数 lo 在应用程序中加载 URL。

...
static NSString *const kOpenURLNotification = @"RCTOpenURLNotification";

static void postNotificationWithURL(NSURL *URL, id sender)
{
  NSDictionary<NSString *, id> *payload = @{@"url": URL.absoluteString};
  [[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification
                                                      object:sender
                                                    userInfo:payload];
}
...

就是这样了!调用该函数,您可以加载一个 js 屏幕组件。它也适用于反应导航。


推荐阅读