AppStore上的更新问题

时间:2011-08-03 14:02:55

标签: iphone core-data sqlite app-store

当我从appstore下载应用程序时,我的应用程序(第一个)出现问题,这是方案:

我在数据库中有一个2.174问题的测验应用程序(核心数据和sqlite3)。这些问题首先存在于.txt文件中,并根据该.txt名称的文件名更新到数据库中,该文件名包含日期。当应用程序启动并发现文件名已更改时,会发生以下情况:

  1. 删除数据库中的所有记录
  2. 阅读所有问题并显示更新屏幕
  3. 显示第一个游戏画面并开始播放
  4. 该应用程序的第一个版本有874个问题,现在我已经完成了应用程序的更新,并添加了更多的问题。

    当我在模拟器或设备上测试时,没有任何问题,但我发现了以下内容:

    • 当已有应用程序的人员,第一个版本,数据库更新
    • 首次下载该应用时,它只会添加874个问题,与第一个游戏版本相同,但使用更新后的界面。

    我知道这不是很多细节,但我得到的感觉是,在将新版本添加到商店之前,“旧”版本并未完全消失。另外,我不明白为什么会有区别。

    我想如果我分发一个已更新数据库的版本,它应该已经在appstore中更新了。如果我没记错的话,新版本随更新数据库一起发布。

    有什么好的,有任何想法或建议如何以及为什么会发生这种情况?

    干杯

2 个答案:

答案 0 :(得分:0)

在我看来,您的应用程序的第二个版本没有正确检查要从捆绑包复制到应用程序文档目录的(更大)数据库。因此,应用程序将简单地初始化数据库(在AppDelegate中懒惰地创建),并且该数据库将为空。然后它将继续导入874个问题。

检查

  1. 捆绑包包含要复制的数据库文件的正确版本
  2. 复制此文件的代码。
  3. 顺便说一句,如果数据模型没有改变且游戏没有修改数据库,你可能要考虑发送一个新的完整数据库文件,而不是通过从文本文件导入来更新旧文件。

    干杯,
    的Sascha

答案 1 :(得分:0)

如果您已将版本号设置为数据库,因为您可以轻松处理您的iphone,将版本号保存到数据库中,每当调用数据库时,将版本与预期版本进行比较 如果是新版本>旧版本更改架构并更新应用程序版本号。