应用程序的文件在模拟器的“文件”应用程序中可见,但在设备上不可见
Posted
技术标签:
【中文标题】应用程序的文件在模拟器的“文件”应用程序中可见,但在设备上不可见【英文标题】:App's files are Visible in 'Files' app on simulator but not on device 【发布时间】:2020-07-17 06:52:56 【问题描述】:我的应用在 XCode 中具有以下两个 info.plist:
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>
据我所知,执行此操作(并实际在 Documents 目录中创建文件)是让应用程序的文件夹和文件显示在“在我的 iPhone 上”的“文件”应用程序中所需要的全部内容。例如,按照以下说明:https://www.appcoda.com/files-app-integration/
我正在使用以下方法获取“文档”目录:
let docsDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
并在那里创建文件:
let baseDestURL = docsDir.appendingPathComponent(dirName)
try FileManager.default.createDirectory(at: baseDestURL, withIntermediateDirectories: true, attributes: nil)
try FileManager.default.moveItem(at: tmpURL!, to: baseDestURL.appendingPathComponent(fileName))
...try
行没有产生错误,这表明它可以工作。
该应用程序确实创建了一个文件夹,其中包含一些文件,在模拟器上,我可以在“我的 iPhone”下的“文件”应用程序中看到该应用程序的文件夹。但是,在实际设备上,“文件”应用在“我的 iPhone”中没有显示我的应用的文件夹。
我知道文件在那里,因为我的应用程序中的代码显示了它从这些文件中读取的信息。
为什么我在设备上的“文件”应用中看不到它们?
【问题讨论】:
感谢不明原因的反对票和接近票。请告诉我您需要什么才能使这个问题更容易被接受,而不是无济于事地只是在没有任何解释的情况下投反对票。如果可能的话,我想把这个问题做得更好,但如果我不知道你为什么认为这是一个不好的问题,我就不能这样做。 【参考方案1】:重启 iPhone 解决了!
我只能猜测为什么。也许ios已经缓存了具有“文件”访问权限的早期版本的应用程序的功能,也许卸载并重新安装应用程序也可能解决了它(当然只是通过从XCode运行重新安装应用程序并没有解决它.
但只需重新启动 iPhone,然后打开“文件”应用程序就会显示该应用程序的文件夹和其中的所有文件。
【讨论】:
以上是关于应用程序的文件在模拟器的“文件”应用程序中可见,但在设备上不可见的主要内容,如果未能解决你的问题,请参考以下文章