2016-02-15 80 views
0

我使用SwiftData在swift中创建sqlite数据库,在模拟器上工作的数据库但是当我想在真实设备上运行应用程序时,它不工作,错误是没有这样的表,我怎么能解决这个问题?在设备上清除数据库(Sqlite)

let fileMan = NSFileManager.defaultManager() 
     if (fileMan.fileExistsAtPath(dbPath)){ 
      if let source = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent(databaseStr){ 
       if (fileMan.fileExistsAtPath(source)){ 

        print("SQLiteDB - file \(databaseStr) not found in bundle") 
       } else { 
        // var error: NSError? 
        do { 
        try fileMan.copyItemAtPath(dbPath, toPath: source) 


        } catch _ { 

        } 

       } 

      } 

     } 
     return dbPath 

    } 
+0

请发布完整的错误信息。 –

+0

@JonasSchafft期间:SQL准备代码1:SQL错误或丢失数据库 – HeyJay

+0

您是否将应用程序加载到物理设备上,然后在加载到物理设备后对SQL数据库进行更改?如果是这样,请尝试删除应用程序,然后再运行它 – MwcsMac

回答

0

从设备中删除应用程序和清理项目有助于在许多情况下。

如果还是不行的话尝试打开sqlite数据库。 firefox sqlite-manager

但我认为最简单的解决方案是删除数据库并创建一个新的数据库。删除后,您还需要从设备和模拟器中删除应用程序。

相关问题