React native 如何在不呈现mainInterface.storyboard的情况下使用react本机共享菜单

React native 如何在不呈现mainInterface.storyboard的情况下使用react本机共享菜单,react-native,react-native-ios,React Native,React Native Ios,我刚刚将react native share菜单添加到我的项目中,一切都按预期进行。但我想从共享菜单打开我的应用程序,而不显示对话框模式(附加图像)。它只在iOS上显示。 我将didSelectPost()添加到viewDidLoad()中,之后它可以在模拟器上工作,但不能在真实设备上工作 override func viewDidLoad() { super.viewDidLoad() if let hostAppId = Bundle.main.object(forInfoDict

我刚刚将react native share菜单添加到我的项目中,一切都按预期进行。但我想从共享菜单打开我的应用程序,而不显示对话框模式(附加图像)。它只在iOS上显示。

我将didSelectPost()添加到viewDidLoad()中,之后它可以在模拟器上工作,但不能在真实设备上工作

   override func viewDidLoad() {
super.viewDidLoad()

if let hostAppId = Bundle.main.object(forInfoDictionaryKey: HOST_APP_IDENTIFIER_INFO_PLIST_KEY) as? String {
  self.hostAppId = hostAppId
} else {
  print("Error: \(NO_INFO_PLIST_INDENTIFIER_ERROR)")
}

if let hostAppUrlScheme = Bundle.main.object(forInfoDictionaryKey: HOST_URL_SCHEME_INFO_PLIST_KEY) as? String {
  self.hostAppUrlScheme = hostAppUrlScheme
} else {
  print("Error: \(NO_INFO_PLIST_URL_SCHEME_ERROR)")
}
didSelectPost() //call post function 

}

你需要制作自己的共享扩展,即使它只是一个占位符,在你被带到应用程序之前。确保您严格遵守以下说明:

完成后,将显示您在index.share.js中注册的“MyShareComponent”,而不是您在帖子中提到的对话框模式

AppRegistry.registerComponent(
  "ShareMenuModuleComponent",
  () => MyShareComponent
);
在该组件中,您可以显示自己的自定义共享对话框,也可以在安装主应用程序后直接重定向到主应用程序,如下所示:

useEffect(() => {
  ShareMenuReactView.data().then(({mimeType, data}) => {
    ShareMenuReactView.continueInApp({shareInfo: data});
  });
}, []);

我已经成功地将此方法用于我自己的共享对话框,并直接重定向到应用程序。

你找到解决方案了吗?@很好,还没有。今天早上,我按照创建共享扩展的说明进行操作,然后触发一个直接重定向到应用程序的程序,我将尝试一下。如果您需要,可以在回答中提供信息。@太好了,请回答。提前谢谢。@Geat请您在此处添加您的答案。它对我有用。谢谢