2

我编写了一个 React Native 应用程序,它下载一个文件并将其保存到文档目录中。

该应用程序为我提供了这样的路径:

/Users/laurent/Library/Developer/CoreSimulator/Devices/SOMEID/data/Containers/Data/Application/SOMEID/Documents

并使用 macOS Finder 我可以看到该文件确实已创建。

我的问题是如何从 iOS 模拟器查看这个文件?例如,如果我单击“文件”应用程序,则看不到该文件。基本上,用户可以从某个地方获得这个文件吗?如果可以,在哪里?或者也许我需要将它保存到不同的目录?

4

2 回答 2

6

默认情况下,您的 iOS 应用程序是沙盒化的,这意味着没有其他应用程序可以访问其资源。模拟器非常不同,因为它在您的 Mac 上运行并将您的文件存储在那里,因此您可以轻松访问它们。

也就是说,通过将适当的键添加到您的应用程序来公开您的 Documents 文件夹非常简单info.plist

  • 添加UISupportsDocumentBrowser密钥以授予对应用程序 Documents 目录中所有文档的访问权限,并让它们出现在 Files 应用程序(iOS 11 及更高版本)中。启用此功能后,其他应用程序也可以在使用UIDocumentBrowserViewController.
  • 添加UIFileSharingEnabled密钥以将应用程序的 Documents 目录公开给桌面 iTunes 应用程序。与 LSSupportsOpeningDocumentsInPlace密钥结合使用时,它还将启用文件应用程序支持和文档浏览器,如上所述。
于 2018-06-12T14:41:15.910 回答
1

默认情况下,您的应用程序下载的任何文件都只能从该应用程序中获得,它们不会显示在设备的文件系统中。

据我所知,没有允许您访问 iOS 文件系统的 react-native 库,因此您需要使用原生 iOS 代码来解决您的问题。除了向您指出官方文档之外,我无能为力。

于 2018-06-12T11:44:55.970 回答