iPhone文档中未创建文件

时间:2018-07-22 01:00:18

标签: ios iphone swift swift4

我正在尝试在iPhone上的文本文件中保存一堆GPS位置。我一直在遵循从网上收集的建议,但是,尽管该应用程序运行良好,但没有创建文件。至少在XCode窗口->设备和模拟器->(应用程序名称)下看不到任何东西。

目标是在以应用程序启动的日期/时间命名的文件夹下的“ position”文件夹中创建一个名为“ 1”的文件,该文件夹又位于Document文件夹下。例如:2018-07-21-16-35-43 / position / 1

我正在XCode 9(最新)中用Swift 4.2编写此代码。

我得到如下所示的Document文件夹(rideStart = Date()):

let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)

if let docUrl = urls.first {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd-HH-mm-ss"
    let dateText = dateFormatter.string(from: rideStart)

    positionUrl = docUrl.appendingPathComponent(dateText)
}

当我准备写出几行文本时,请执行以下操作(locationCache是​​一个CLLocation对象的数组,而textForFile是一个扩展属性,用于将我想要的信息格式化为以逗号分隔的一组值,并终止与\ r \ n):

try? FileManager.default.createDirectory(at: positionUrl, withIntermediateDirectories: true)

let curUrl = positionUrl.appendingPathComponent("\(fileNumber)")

for loc in locationCache {
    do {
        let line = loc.textForFile
        print(line)
        try line.write(to: curUrl, atomically: true, encoding: .utf8)
        }
    catch {
        print(error)
    }
}

代码运行时不会引发任何错误,并且文本行将以预期的格式打印到控制台。

我是iOS和Swift的新手,我的绝大多数经验是在Windows下使用C#和javascript。我显然缺少一些简单和/或基本的东西。我在做什么错了?

其他信息

基于反馈,我在模拟器中运行了该应用程序。在弄清楚iPhone 6模拟器在我的Library文件夹中的位置之后,我确定实际上是在尝试创建文件(注意:我目前正在使用基于FileHandle的方法来写入文件,相反达到了这篇文章中显示的代码中的内容-但我已经测试了FileHandle方法针对物理iPhone硬件的方法,并且它仍然不会在XCode的“设备和模拟器”窗口中创建任何可见文件。

在评论中提出了一个观点:甚至可以从XCode中检查已连接/配对的iPhone上的文件吗?我从各个地方读过的书都认为应该有可能……但事实并非如此。

0 个答案:

没有答案