代码之家  ›  专栏  ›  技术社区  ›  Curt Rand

React Native iOS:如何监听传入链接并在应用程序关闭时处理它们?

  •  1
  • Curt Rand  · 技术社区  · 6 年前

    我试图实现一个教程,我已经读到我的应用程序。我已经建立了一种方法来监听传入的url并处理它们。

    componentDidMount() {
      Linking.addEventListener('url', this.handleOpenURL);
    }
    componentWillUnmount() {
      Linking.removeEventListener('url', this.handleOpenURL);
    }
    handleOpenURL(event) {
      console.log(event.url);
      const route = e.url.replace(/.*?:\/\//g, '');
      // do something with the url, in our case navigate(route)
    }
    

    如果应用程序是在后台的话,这个方法很有效。然而,我遇到的问题是,当应用程序关闭时 handleOpenURL 方法未被调用。我不确定我是否错过了一步。另一种可能性是我可能需要在其他地方添加事件侦听器。不知道该怎么办。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Curt Rand    6 年前

    用这个解决了

     Linking.getInitialURL().then((url) => {
        if (url) {
          AppListeners.handleOpenUrl({ url });
        }
      });
    
        2
  •  1
  •   Murmeltier    6 年前

    您需要在Xcode中指定url方案。去你的项目设置和“信息”下应该是一个点“网址类型”,然后定义你的链接那里。 more about deep linking