我的公司在App Store中有一个iOS应用程序。我们正在做一个完整的拆解并从头开始,但推动它作为更新,因为旧的应用程序甚至不会构建。它很老,有很多依赖。
在旧版应用中,用户收藏了存储在sqlite数据库中的项目。新的应用程序将它们存储在plist中或使用sqlite,如果这意味着我们不会丢失数据。有没有办法将这些数据迁移到新的应用程序?
此链接让我觉得有可能,但我没有使用Titanium:Titanium - Retrieving SQLite Data from previous version of iOS App
我目前正在检查数据库是否存在,当我启动应用程序时,它始终记录"否"。任何帮助都将非常感激!
NSString *databaseName = @"my_client_database.sqlite";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName];
if (![[NSFileManager defaultManager] fileExistsAtPath:databasePath]){
NSLog(@"NO");
}else{
NSLog(@"YES");
}
答案 0 :(得分:1)
对于需要查询先前应用程序数据的任何人都可以:
如果您对以前的版本一无所知,这可以让您准确查看文件的位置。
现在您知道自己在使用什么,可以查看相应的目录。事实证明我的应用程序支持。
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSArray *pathsList = [fileManager URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask];
NSURL *directoryURL = [pathsList objectAtIndex:0];
NSString *databasePath = [[directoryURL URLByAppendingPathComponent:@"my_client_database.sqlite"] absoluteString];
此时,您可以查询sqlite数据库并相应地创建新记录!