如何在 iOS 模拟器中查看文档目录?

Posted

技术标签:

【中文标题】如何在 iOS 模拟器中查看文档目录?【英文标题】:How to view document directory in iOS emulator? 【发布时间】:2018-11-21 18:32:00 【问题描述】:

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

应用程序给了我这样的路径:

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

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

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

【问题讨论】:

【参考方案1】:

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

据我所知,没有允许您访问 iOS 文件系统的 react-native 库,因此您需要使用原生 iOS 代码来解决您的问题。除了给你指点the official documentation,我能帮上忙的也没什么了。

【讨论】:

【参考方案2】:

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

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

添加 UISupportsDocumentBrowser 键以授予对应用程序 Documents 目录中所有文档的访问权限,并使它们出现在文件应用程序中(iOS 11 及更高版本)。启用此功能后,其他应用也可以在使用 UIDocumentBrowserViewController 时访问您的文档。 添加 UIFileSharingEnabled 键以将应用程序的 Documents 目录公开给桌面 iTunes 应用程序。当与LSSupportsOpeningDocumentsInPlace 键结合使用时,它还将启用文件应用程序支持和文档浏览器,如上所述。

【讨论】:

以上是关于如何在 iOS 模拟器中查看文档目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何同时在 Android 和 IOS 模拟器中查看我的颤振应用程序输出?

如何在iOS模拟器上查看通知中心?

Xcode Device Simulator的文档目录路径

在ios模拟器中查看Console.log

Xamarin - 如何查看 iOS 模拟器应用程序日志

如何更改iOS模拟器目录