首页 > 解决方案 > 分享扩展反应原生 - 博览会

问题描述

我使用expo创建了一个 react-native 应用程序。现在我正在寻找应用程序的共享扩展,以将 CSV 数据从电子邮件附件导入到我的应用程序。

我已经尝试过npm 包,但这对我不起作用(我无法在 Xcode 中使用该 npm 包构建我的项目)

我认为 react-native 或 expo 没有任何共享 API

在这张图片中,您可以看到他如何选择将数据导入应用程序。

我知道如果没有共享扩展 API,我认为 react-native 和 Expo 都没有用,因为您可以创建应用程序但不能扩展它。

寻找解决方案或任何其他替代解决方案。

标签: react-nativeexpofileshareshare-extension

解决方案


恐怕这在世博会上是不可能的。

首先,您是在寻找一种方法来创建自己的扩展程序,还是只是希望您的应用程序位于右侧屏幕截图中的“打开方式列表”中?(分享和“开放”是两个不同的东西。)

如果您只想将您的应用程序列在标准的“使用列表打开”中,则不需要使用github.com/alinz/react-native-share-extension,因为它有不同的用途。引用回购:

这是一个辅助模块,它将 react native 作为引擎来驱动应用程序的共享扩展。

所以有了这个包,你可以使用 react native 来创建你自己的共享扩展

要将您的应用程序放入“打开方式列表”,您需要转到目标设置并根据屏幕截图进行更改(MS word 示例)。在此处阅读更多相关信息。但是,恐怕您将无法在不弹出的情况下使用 expo 执行此操作。

在此处输入图像描述

如何在 react-native 中获取文件的 url?您需要确保它libRCTLinking.aLink Binary with LibrariesXcode 中(它可能已经存在)。然后您可以按照文档并调用Linking.getInitialURL以获取文件 url。然后它真的取决于你想对文件做什么。如果您需要一些复杂的东西,您可能需要编写本机代码。如果您只想将文件上传到某个服务器,那么您可以利用在此提交中添加到 RN 0.54 的 blob 支持。此处是如何使用 blob 支持的示例。


推荐阅读