当应用程序在托盘中时,React Native Linking.addEventListener()不会触发

时间:2017-11-15 21:37:28

标签: firebase react-native deep-linking react-native-ios react-native-linking

使用React Native Linking和Firebase生成动态链接。除非应用程序在后台打开,否则一切都正常工作或者#34;托盘"当您单击链接时。如果某人点击该链接时该应用已经打开,则该功能无效。

我的侦听器在componentDidMount中设置,就像documentation所说的那样,但它没有被触发。

componentDidMount() {
  Linking.addEventListener('url', this._handleOpenURL);
},

事实上,我已经通过并警告了componentWillMount(),componentDidMount(),componentWillUpdate(),componentWillUnmount(),componentWillReceiveNewProps()和_handleOpenURL(),当我点击链接时我什么也得不到"再打开-"来自后台的应用程序?我做错了什么?

1 个答案:

答案 0 :(得分:1)

想出来,我会留下问题以防其他人有同样的问题。

原来我只需要将这个代码块添加到我的AppDelegate.m文件中。

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
  return [RCTLinkingManager application:application
                   continueUserActivity:userActivity
                     restorationHandler:restorationHandler];
}