共享扩展 react native - expo

Share extension react native - expo

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

我已经尝试了 npm package,但这对我不起作用(我无法使用 Xcode 中的那个 npm 包构建我的项目)

我觉得react-native或者expo没有任何份额API

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

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

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

恐怕这对 expo 来说是不可能的。

首先,您是在寻找一种方法来创建自己的扩展,还是只想让您的应用位于右侧屏幕截图中的 "open with list" 中? (分享和 "open with" 是两个截然不同的东西。)

如果您只想将您的应用列入标准 "open with list",则无需使用 github.com/alinz/react-native-share-extension,因为它有不同的用途。引用回购协议:

This is a helper module which brings react native as an engine to drive share extension for your app.

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

要让您的应用进入 "open with list",您需要转到目标设置并根据屏幕截图(以 MS word 为例)进行更改。阅读更多相关信息 here。但是,恐怕你将无法在不弹出的情况下使用 expo 执行此操作。

如何在react-native中获取文件的url?您需要确保 libRCTLinking.a 在 Xcode 中的 Link Binary with Libraries 中(它可能已经存在)。然后就可以关注docs and call Linking.getInitialURL to get the file url. Then it really depends on what you want to do with the file. If you need something complicated, you'll likely need to write native code. If you just want to upload the file to some server, then you can make use of blob support that was added to RN 0.54 in this commit. An example of how to use the blob support is here.