2010-10-08 94 views
0

我一直在研究應用程序很長一段時間,當應用程序嘗試打開Core Data存儲時突然開始出現此錯誤。一個月以來,我沒有對數據模型或數據訪問代碼進行任何更改,所以我認爲它可能與我與Core Data進行交互時出錯。 (意思是,網址是OK,呼叫模式是好的,等...)核心數據未能打開商店:「驗證商店的url時出錯」

有趣的是,這些都是立即日誌線錯誤之前:

/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應用程序已經忘記了關於我的所有事情,但它在同步後能夠恢復。所以也許有一些恢復模式? (雖然,即使我能爲我的應用程序恢復,地圖API可能會燃燒大量的帶寬,如果他們不能緩存地圖瓦片...)

瑞安

回答

0

對於它的價值,我發現罪魁禍首,它與Core Data,sqlite或文件系統無關。該應用程序使用了很多小音頻剪輯,並且我將它們全部預緩存爲AVAudioPlayers。我知道這可能是一個壞主意,但它很快捷,所以我想我會一直這樣做直到我遇到某種問題。 (我會在玩家周圍放一個包裝,這樣如果需要的話,我可以延遲實例化,而不會影響系統的其他部分,這正是我現在所做的)。我只是假設問題會顯示爲音頻播放器問題,而不是別的地方,看起來完全沒有關係。

我意識到,當我發現模擬器也是行爲不當時,我們意識到必須有代碼錯誤,但採用完全不同的方式(密鑰存檔未被正確寫入)。當我退出了我所做的最新變更(添加了一批新的音頻剪輯)後,問題消失了。

希望這可以幫助未來的人!