核心数据无法打开商店:“验证商店的网址时出错”

时间:2010-10-08 20:39:04

标签: iphone sqlite core-data

我已经在应用程序上工作了很长一段时间,当应用程序尝试打开Core Data存储时突然开始出现此错误。我一个多月没有对我的数据模型或数据访问代码进行任何更改,所以我认为只要与Core Data交互,我就不会做任何错误。 (意思是,网址没问题,通话模式还可以,等等......)

有趣的是,这些是错误发生前的日志行:

/SourceCache/GoogleMobileMaps/GoogleMobileMaps-217.2/googlenav/mac/TileStore.mm:209无法打开/var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb:(14)无法打开数据库文件 /SourceCache/GoogleMobileMaps/GoogleMobileMaps-217.2/googlenav/mac/TileStore.mm:155文件不存在/var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb:(2) /SourceCache/GoogleMobileMaps/GoogleMobileMaps-217.2/googlenav/mac/TileStore.mm:209无法打开/var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb:(14)无法打开数据库文件 /SourceCache/GoogleMobileMaps/GoogleMobileMaps-217.2/googlenav/mac/TileStore.mm:235无法打开/var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb:平铺数据不会被缓存

因此看起来sqlite层通常存在“某些”错误。有没有人见过这个?除了擦拭设备之外还有恢复选项吗?它目前正在运行3.1.3,我真的很讨厌升级到4,因为目前我唯一的方法是测试应用程序是否会为未升级的用户运行。

我注意到的一件事:在我第一次遇到此错误后不久,我想看看是否有其他任何应用程序出现问题。果然,iPod应用程序已经忘记了我的一切,但它在同步后能够恢复。那么也许有一些恢复模式? (虽然,即使我可以恢复我的应用程序,如果Maps API无法缓存地图图块,它们可能会消耗大量带宽......)

赖安

1 个答案:

答案 0 :(得分:0)

对于它的价值,我找到了罪魁祸首,它与Core Data,sqlite或文件系统无关。该应用程序使用了很多小型音频剪辑,我将它们全部预先缓存为AVAudioPlayers。我知道这可能是一个坏主意,但它很快捷,所以我想我一直这样做,直到遇到某种问题。 (我会在播放器周围放置一个包装器,以便在不影响系统其余部分的情况下延迟实例化,这就是我现在正在做的事情。)我只是假设问题会显示为音频播放器问题而且而不是其他似乎完全不相关的地方。

我发现当我发现模拟器行为不端时必定会出现代码错误,但是以一种不同的完全无法解释的方式(键控档案没有正确编写)。当我退出最近的改变(添加一批新的音频剪辑)时,问题就消失了。

希望这有助于将来的某个人!