我正在开发一个基于 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文件中没有数据。
有什么建议我做错了吗?