如何在 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 模拟器中查看文档目录?的主要内容,如果未能解决你的问题,请参考以下文章