上下文:Xcode 8.3.2 / Swift 3
我在Documents文件夹中的子文件夹中下载了一堆MP3。 然后,我通过以下方式验证成功:
try FileManager.default.contentsOfDirectory(atPath: folderPath)
我可以看到列出的文件然后,我重新启动应用程序。由于上述原因,没有保存的歌曲会再次播放:文件" name_here"因为没有这样的文件而无法打开。 FileManager.default.contentsOfDirectory()仍然在那里列出它们;当我检查沙箱时,他们就在那里。
我没有想法。 想法,任何人?
PS:当我
时发生错误try Data.init(contentsOf: URL(fileURLWithPath: file_path_here))
通常我不需要在内存中加载东西; AVPlayer可以从磁盘上播放它们;但是,我必须首先解密它们,这就是为什么我要填充一个" NSData"与任何文件的内容。没用说,没有任何东西可以到达我的解密器,因为...... 由于没有这样的文件而无法打开文件
为什么第一次(当我下载它们时)相同的代码工作但在以后的会话中失败???
答案 0 :(得分:0)
感谢提示,rmaddy。
我想这是星期五晚上,我累了,我应该回家。
愚蠢: 在保存时,某些文件的路径看起来像
"/var/mobile/Containers/Data/Application/961ED728-311E-4BDF-A599-F79CBE59A174/Documents/NameOfMyApp/some.mp3"
这也是我在CoreData中所持有的,完整的绝对路径。
当应用重新启动时,我正在寻找该路径的文件。但是,应用程序标识符已更改,我的Documents文件夹现在看起来像
"/var/mobile/Containers/Data/Application/D07BF1A5-8865-4920-B96E-541D4251B553/Documents"
URL()的构造函数中的“relativeTo”参数是有原因的,我想: - )