sorry 底下又是我的半調子整理
我到現在還是看不懂signature裡頭的意義 這篇裡頭我看不懂的太多神祕的語言了
透過Cydia作者的努力(當然也有PyObjC群組的支援)
現在iphone上頭可以執行 基於python開發的程式
可以套用iphone SDK裡頭的UIKit
解決一些問題
而且 這些程式基本上不需要編譯
只要丟到他預設的框架上面
就可以用python來執行
有興趣的可以參考我附件裡面的檔案 裡頭是個python腳本
只要替換進去 馬上就是一個原生 可用的iPhone程式
為什麼談到這個呢?
因為說實話 我覺得 目前的Cydia上的 LM2 基本上只是堪用
他並不支援 由iphone選取要載入哪個地圖的功能
這對於有多個地圖檔需要替換的時候變得很不方便
LM2是個shell script套件 而作者沒有設計讓他可以替換地圖的功能
如果說有哪位大哥熟悉shell script 或許可以將他改成 循序替換目錄內的地圖
而非限定在只有/var/mobile/Media/Maps/m/的被替換過去
我現在想到的笨方法是這樣
比方說某個目錄下面有四個地圖檔的資料夾
先複製編號00的那個到系統資料那邊
然後把mv 00 tmp;mv 01 00 ;mv 02 01; mv 03 02; mv tmp 03
這樣 如果有四個地圖檔 這最衰你只需要按四下LM2的圖示 就可以把離線地圖換成你要的
所以我把LM2.app底下的LM2.sh替換掉
成為下面這個
代碼:
rm /var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb rm /var/mobile/Library/Preferences/com.apple.Maps.plist cp -r /var/mobile/Media/Maps/00/MapTiles.sqlitedb /var/mobile/Library/Caches/MapTiles/MapTiles.sqlitedb cp -r /var/mobile/Media/Maps/00/com.apple.Maps.plist /var/mobile/Library/Preferences/com.apple.Maps.plist #Swap db mv /var/mobile/Media/Maps/00 /var/mobile/Media/Maps/tmp mv /var/mobile/Media/Maps/01 /var/mobile/Media/Maps/00 mv /var/mobile/Media/Maps/02 /var/mobile/Media/Maps/01 mv /var/mobile/Media/Maps/03 /var/mobile/Media/Maps/02 mv /var/mobile/Media/Maps/tmp /var/mobile/Media/Maps/03
但無論如何 還是不如用UIKit去寫有清單 有選項 這樣的東西來的好用
shell script的Cocoa bridge法 網路上有...但是跟天書一樣 (我程度太差了 rubycocoa還沒port過去)
所以不曉得有沒有人 擅長Python的人
可以考慮看看從這邊著手
開始port一些需要的東西過去(當然您擅長其他項目也ok啦)
寫程式多半是為了解決問題
有些問題是你個人的需要 有時候可能也剛好是大家的需要
剛好是大家需要的時候 這個程式就更熱門
像是目前火紅的iAcces (我十二萬分盼望2.0版本早點出來)
即便不是如此 我想至少也會解決您目前的困擾 累積下次的經驗
其實寫iphone 的程式 好像沒有那麼的難
你可能已經掌握了一兩門擅長的程式語言
只是沒有找到入口的門而已
或許 現在門找到了 而鑰匙也在你手上