Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Iphone中更改或替换数据库sqlite?_Iphone_Objective C_Database_Sqlite - Fatal编程技术网

如何在Iphone中更改或替换数据库sqlite?

如何在Iphone中更改或替换数据库sqlite?,iphone,objective-c,database,sqlite,Iphone,Objective C,Database,Sqlite,我对sqlite数据库有问题。在我的应用程序中,我读取了一个复制到iphone内部的外部db。它起作用了!!现在我修改了数据库,我必须在iphone中替换它。我从project中删除了数据库,并放入了新数据库(同名),然后启动模拟器(或iphone),应用程序再次使用旧数据库。 这是我用于复制数据库的代码: NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; NSArray *paths = N

我对sqlite数据库有问题。在我的应用程序中,我读取了一个复制到iphone内部的外部db。它起作用了!!现在我修改了数据库,我必须在iphone中替换它。我从project中删除了数据库,并放入了新数据库(同名),然后启动模拟器(或iphone),应用程序再次使用旧数据库。 这是我用于复制数据库的代码:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *appDBPath = [documentsDirectory stringByAppendingPathComponent:@"On4h.db"];
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"On4h.db"];

success = [fileManager fileExistsAtPath:appDBPath];
if (success) {
    return;
}

success = [fileManager copyItemAtPath:defaultDBPath toPath:appDBPath error:&error];
if (!success) {
    NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
如何用另一个同名的数据库替换该数据库?现在的iphone怎么可能重新阅读旧版本呢


谢谢

要更改数据库,您需要执行以下操作

  • 开放首选项

  • 转到“位置”选项卡并单击指示位置的箭头

  • 现在进行以下操作:
  • 应用程序支持->iPhone模拟器->7.1(您的模拟器版本)->应用程序->查找您的项目->库->缓存

    在上述位置,您将找到旧数据库。现在用新的替换它


    注意:以上过程仅适用于
    iPhone/iPad模拟器
    。对于iPhone/iPad设备,您需要删除并重新安装应用程序。

    谢谢!!我终于改变了!!