分享扩展React Native-Expo

时间:2018-08-01 21:17:37

标签: react-native expo fileshare share-extension

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

我尝试过npm package,但对我来说不起作用(我无法使用Xcode中的npm软件包来构建我的项目)

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

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

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

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

1 个答案:

答案 0 :(得分:4)

恐怕世博会无法实现。

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

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

  

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

因此,使用该程序包,您可以使用react native来创建自己的共享扩展名

要使您的应用进入“打开列表”,您需要转到目标设置并根据屏幕截图(例如MS word)对其进行更改。进一步了解here。但是,恐怕您如果不退出就无法通过Expo。

enter image description here

如何在react-native中获取文件的url?您需要确保libRCTLinking.a在Xcode的Link Binary with Libraries中(可能已经存在)。然后,您可以按照docs并调用Linking.getInitialURL来获取文件URL。然后,这实际上取决于您要对文件执行的操作。如果您需要一些复杂的东西,则可能需要编写本机代码。如果仅要将文件上传到某些服务器,则可以使用在this commit中添加到RN 0.54的Blob支持。 here是一个使用Blob支持的示例。