Copiar la database en el directory de documentos está teniendo problemas

Tengo una aplicación en la que necesito copyr mi file de database al directory de documentos. Sé cómo hacerlo y funciona bien. Aquí está el código para ello

// Get Requinetworking Path NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:DataBaseName]; // Check if DB file already Exist. If YES than return. success = [fileManager fileExistsAtPath:writableDBPath]; if (success) return success; // If DB file is not exist try to write file. This will execute first time only. NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:DataBaseName]; success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error]; // Add Skip Backup attribute here. 

Esto funciona bien pero, por alguna razón, a veces genera un error. Ahora el problema es cuando bash rastrear este problema, no ocurre.

No sé por qué, pero el success = [fileManager fileExistsAtPath:writableDBPath]; está regresando NO. De lo que intenta escribir un nuevo file, pero escribir un nuevo file también falla. Es muy difícil rastrear el error ya que no se reproduce en mis testings.

¿Puede alguno decirme los posibles errores debido a esto y proporcionar una solución?

Gracias

Intente con el código siguiente

 BOOL copySucceeded = NO; // Get our document path. NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentPath = [searchPaths objectAtIndex:0]; // Get the full path to our file. NSString *filePath = [documentPath stringByAppendingPathComponent:fileName]; // Get a file manager NSFileManager *fileManager = [NSFileManager defaultManager]; // Does the database already exist? (If not, copy it from our bundle) if(![fileManager fileExistsAtPath:filePath]) { // Get the bundle location NSString *bundleDBPath = [[NSBundle mainBundle] pathForResource:fileName ofType:nil]; // Copy the DB to our document directory. copySucceeded = [fileManager copyItemAtPath:bundleDBPath toPath:filePath error:nil]; if(!copySucceeded) { //not Copy } else { // Success } } else { // Nothing }