Ios iPhone应用程序只读数据库的最佳选项是什么?

Ios iPhone应用程序只读数据库的最佳选项是什么?,ios,database,sqlite,Ios,Database,Sqlite,我想制作一些信息应用程序,其中用户只能准备数据。DB每行仅包含文本段落+1张图片。我的问题是,做这件事的好方法是什么?我将需要添加更多的数据到数据库与更多的信息在未来 比如说,若我的数据库大小是30-40MB,那个么在应用程序中把所有数据都放在一起好吗?比如预加载SQlite并将其附加到应用程序 我想知道,如果我创建自己的服务器,它是否值得,因为它不是大型数据库,也不需要保存用户数据。30-40MB没有达到iOS OTA下载的限制,但它有点笨重。如果它是一个静态数据库,你有没有考虑过把它放在S3

我想制作一些信息应用程序,其中用户只能准备数据。DB每行仅包含文本段落+1张图片。我的问题是,做这件事的好方法是什么?我将需要添加更多的数据到数据库与更多的信息在未来

比如说,若我的数据库大小是30-40MB,那个么在应用程序中把所有数据都放在一起好吗?比如预加载SQlite并将其附加到应用程序


我想知道,如果我创建自己的服务器,它是否值得,因为它不是大型数据库,也不需要保存用户数据。

30-40MB没有达到iOS OTA下载的限制,但它有点笨重。如果它是一个静态数据库,你有没有考虑过把它放在S3上?请尝试以下操作:

  • 创建一个JSON文件,按照您希望的方式构造数据,并将其放在公共S3链接上。对于图像,使用也托管在S3上的URL(或者任何您想要用来提供此服务的文件服务器…我只说S3,因为它非常普遍)
  • 当应用程序启动时,像这样抓取JSON文件:

    NSURL *pathToJSON = [NSURL URLWithString:@"http://someurl..."];
    NSURLRequest *request = [NSURLRequest requestWithURL:pathToJSON];
    [NSURLConnection sendAsynchronousRequest:request queue:nil completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSError *error;
        id json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    }];
    

  • 然后,您可以选择立即在本地下载并缓存图像,或者根据需要获取图像。通过这种方式,您可以获得服务器更新的所有好处,而无需维护真正的API服务器。

    如果您的程序中没有写入数据库的任何代码,那么数据库实际上是只读的,不是吗?我正按照本教程所说的那样预加载SQlite DB……是的,我从未想过这种方式,谢谢smyrgl,租用服务器是好的选择吗?像Parse?所以,这将删除使用appupdate更新数据库的整个要点,因为数据库是独立的,不是吗?解析很好,但它仍然是一个数据库。根据经验,如果您觉得更新需要是增量的,那么您应该看看真正的DB和API。如果您只需要将二进制软件包更新推送到客户端,那么S3就简单多了。