如何将文件从目录复制到iphone文档目录

Abh*_*nav 1 sqlite iphone ios swift

我想要做的是,在应用程序委托中,我想编写一个代码,如果它不存在于 iphone 的文档目录中,它将复制一个 sqlite 数据库。为此,我使用以下代码-

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let containerViewController = ContainerViewController()
window!.rootViewController = containerViewController
window!.makeKeyAndVisible()

//Create database if not exists
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
let databaseStr = "LocalDatabase.sqlite"
let dbPath = docsPath.stringByAppendingPathComponent(databaseStr)
let fileManager: NSFileManager = NSFileManager.defaultManager()
if !fileManager.fileExistsAtPath(dbPath) {
    let databaseInApp: String? = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent(databaseStr)
    fileManager.copyItemAtPath(databaseInApp!, toPath: dbPath, error: nil)
}

return true
}
Run Code Online (Sandbox Code Playgroud)

它正在正常的目录中创建数据库。但是我没有在数据库中找到蚂蚁表。这意味着创建新文件而不是复制。我确定该数据库中有 9 个表要复制。

文件结构如截图所示 -

在此处输入图片说明

我哪里错了,我不明白。请告诉我是否有人能够解决问题。另一件事当我在模拟器中运行应用程序时, /Users/Adelantelabs/Documents/Sidemenu.swift/SlideOutNavigation/Localdatabase.sqlite 它运行良好,但在我运行它时无法在 iphone 中运行。

Dha*_*esh 5

使用此代码:

let fileManager = NSFileManager.defaultManager()
var error : NSError?
var doumentDirectoryPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
let destinationPath = doumentDirectoryPath.stringByAppendingPathComponent("LocalDatabase1.sqlite")
let sourcePath = NSBundle.mainBundle().pathForResource("LocalDatabase", ofType: "sqlite")
fileManager.copyItemAtPath(sourcePath!, toPath: destinationPath, error: &error)
Run Code Online (Sandbox Code Playgroud)