大家都知道Maps Enhancer已經停止更新了,因此在iOS 5下只要地圖快取達22Mb會自動刪除。而以下的原理,是利用在地圖SQLite資料庫中增加一個Trigger,使快取不會消失。
工具:iExplorer、SQLite開啓程式(教學中使用MesaSQLite on Mac)
步驟:
1. 到/var/mobile/Library/Caches/Maps/MapTiles,並備份MapTiles.sqlitedb
2. 在電腦上開啟MapTiles.sqlitedb(我使用MesaSQLite on Mac)
3. 增加Trigger:CREATE TRIGGER prevent_delete BEFORE DELETE ON image BEGIN SELECT raise(IGNORE); END

4. 取代原本的檔案
5. 最後記得確認檔案權限是775(owner:mobile)
6. Reboot後就大功告成啦!

36.4MB
此做法有些缺點(類似Maps Enhancer):
1. 不適用GMDL
2. 快取太大會無法讀取(灰畫面),要刪除並重新執行此教學
3. 地圖容易過時(如中國)
4. 其他Apps無法使用此快取(可以找出特定App的MapTiles.sqlitedb執行此教學)
5. 需要Jailbreak
有問題歡迎提出,謝謝!