mercredi 20 mai 2015

App crashing in IPA but working in XCode

Please help me. I am using the latest version of xCode and SWIFT and my Mac's OS is also updated. However, I made an app , written in swift that uses FMDATABASE for SQL LITE connection. The app connects to the SQL LITE file when you launch it. It works fine in xCode but when I created an IPA file and installed it, it did not work. I guess its in the database connection, I tried skipping the database connection and the IPA file worked fine...but I have no idea what's wrong..

Here is my code to connect to the database, I do not know what am I doing wrong here.: var db : FMDatabase! var dbqueue : FMDatabaseQueue!

override init(){
    var success : Bool!
    var filemanager = NSFileManager.defaultManager()
    var error : NSError!

    var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true) as NSArray!

    var documentDirectory = paths.objectAtIndex(0) as? NSString
    var writableDBPath = documentDirectory?.stringByAppendingPathComponent("CarInfoDB.sqlite") as String!

    success = filemanager.fileExistsAtPath("\(writableDBPath)")

    if(success != true){
        var dbPath = NSBundle.mainBundle().resourcePath?.stringByAppendingString("/CarInfoDB.sqlite") as String!
        var resourcePath = NSBundle.mainBundle().resourcePath as String!

        success = filemanager.copyItemAtPath(dbPath, toPath: writableDBPath, error: nil)

        if(success == true){
             println("*******************Database Copied**************************")
            db = FMDatabase(path: writableDBPath)
            if(db.open() == true){
                println("*******************Database Open**************************")
                dbqueue = FMDatabaseQueue(path: writableDBPath)


            }else{
                println("*******************Database Close**************************")
            }
        }else{

        }
    }else{
        db = FMDatabase(path: writableDBPath)
        if(db.open() == true){
            println("*******************Database Open**************************")
            dbqueue = FMDatabaseQueue(path: writableDBPath)
        }else{
            println("*******************Database Close**************************")
        }
    }

}

Thank You so much! Please help me,

Aucun commentaire:

Enregistrer un commentaire