Nella mia app, ho usato il DB sqlite. Ho inviato la versione 1.0 dell'app all'app store. Ma dopo ho fatto alcune modifiche in DB come inserire alcune nuove righe.Copia database aggiornato nel dispositivo in ios sdk
Quindi inviato 1.1 versione dell'app. But i will not able to get updated DB because the old DB already exists in device.
Come posso risolvere questo?
Se si elimina l'applicazione &, quindi installare la nuova versione di app, quindi ho ottenuto il DB aggiornato.
//My code for copy of DB is as follow:
- (void)createEditableCopyOfDatabaseIfNeeded
{
// First, test for existence.
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"xxx.sqlite"];
success = [fileManager fileExistsAtPath:writableDBPath];
if (success) return;
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"xxx.sqlite"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}
Ho chiamato questo metodo in modo appDidFinishLaunching.
Come posso ottenere aggiornato DB senza eliminare l'applicazione quando la nuova versione è disponibile
Grazie mille! Wow, che grande idea di farlo molto facilmente. – AtWork