分享扩展反应原生 - 博览会

Rut*_*tel 4 fileshare react-native share-extension expo

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

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

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

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

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

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

von*_*vak 5

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

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

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

这是一个帮助程序模块,它将 React Native 作为引擎来驱动您的应用程序的共享扩展。

因此,使用该软件包,您可以使用 react native 创建自己的共享扩展

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

在此处输入图片说明

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