Sqlite Swift:fileExistsAtPath返回TRUE

Sqlite Swift:fileExistsAtPath返回TRUE,sqlite,swift,ios8,Sqlite,Swift,Ios8,我正在试验一个奇怪的问题,检测文件是否存在 我正在使用SQLite,所以我的应用程序中有一个DB文件,它是我项目的目标成员,它只是DB结构 在我的AppDelegate中,我正在检查文件是否存在: let fm = NSFileManager.defaultManager() var docDir = "" docDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as

我正在试验一个奇怪的问题,检测文件是否存在

我正在使用SQLite,所以我的应用程序中有一个DB文件,它是我项目的目标成员,它只是DB结构

在我的AppDelegate中,我正在检查文件是否存在:

let fm = NSFileManager.defaultManager()

var docDir = ""

docDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String

let dbName:String = String.fromCString("db22.sqlite3")!

let path = docDir.stringByAppendingPathComponent(dbName)
在这一点上,文件被创建(而不是想法),当我打印路径时,文件的大小为0

println("Database path: \(path)")
-rw-r--r--1 LLL staff 0 Jan 24 22:49/Users/LLL/Library/Developer/CoreSimulator/Devices/F18F613D-B032-4B0A-87FC-3E484FC0C024/data/Containers/data/Application/74FE784B-F131-4C60-9846-21D115E08594/Documents/db22.sqlite3

在运行应用程序之前:

$find/Users/LLL/Library/Developer/-name db22.sqlite3

那里什么也没有

因此,为了检查文件是否存在,我的下一个if总是返回TRUE:

if !(fm.fileExistsAtPath(path)) {
...
...
fm.copyItemAtPath(from, toPath: path, error: &error)
...
...
我尝试在模拟器中重置内容和设置,同时关闭项目并删除Library/Developer//Xcode/DerivedData中的所有文件和目录/

但是结果是一样的(产品->在XCode中也是干净的)

我以前使用过这个文件,工作正常,将它复制到我的DocumentDirectory以修改我的数据库,我删除了它,因为我更改了表中的某些内容,突然不再工作了

如果我尝试将name dbName变量更改为我以前从未使用过的变量,则不会创建该文件,并且fileExistsAtPath返回FALSE,与前一个变量一样

我还从我的XCode项目中删除了db22.sqlite3,清理并清除了所有设置,删除了DerivedData中的所有文件……但结果是一样的

有什么想法吗


提前谢谢各位

find/Users/LLL/Library/Developer/-name db22.sqlite3
那里什么都没有。”你忘了
-print
?也就是说,命令不应该是
find/Users/LLL/Library/Developer/-name db22.sqlite3-print
?语法正确,这不是问题:$find/Users/LLL/Library/Developer/-name index.html | head-1/Users/LLL/Library/Developer//CoreSimulator/Devices/9D832F9D-733D-4A4F-8735-248BDF8AF753/data/Containers/Bundle/Application/084AA669-0047-4772-8713-1B68E8EFED51/Testing.app/index.html