我正在开发一个基于sqlite数据库的iOS应用程序。由于每次添加新数据时我都不想更新应用程序,因此我想将sqlite数据库存储在服务器上并询问用户是否要下载更新。
这是我的代码:
NSString *stringURL = [NSString stringWithFormat:@"http://myurl.com/dl.php"];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringURL]];
[data writeToFile:storePath atomically:YES];
dl.php只是将sqlite数据库发送到客户端(php:readfile(“foo.sqlite”))。当我在浏览器中访问URL时,数据库被正确下载(336 KB)。
我也尝试过:
[fileManager removeItemAtPath:storePath error:error];
[fileManager createFileAtPath:storePath contents:data attributes:nil];
我的问题:文件被下载,但sqlite数据库只有188 KB(而不是336 KB)。该文件未完全损坏。如果我用sqlite数据库编辑器打开文件,表结构是正确的,但sqlite文件中没有数据。
有什么建议我做错了吗?