前段時間在開發乙個越獄應用,用於在通知中心顯示陽曆和陰曆,名為chinese calendar for notification center。第一次研究越獄開發,四月七号開始編碼到昨天,在這兩周裡,從無到有,接觸了notification center widget和preference bunlde應用的開發,深切地感覺到越獄文件的稀少和零散,以及找資料的痛苦,期間甚至有「沒人提供文件,我來提供!」的想法。文件是個浩大的工程,目前的水平也無法做到。所以一點點來,先從開發任何應用都必經的環境搭建開始。
廢話已經說的夠多了,下面進入正題
需要什麼知識?
ios framework。需要對ios常用的框架有了解。
make。了解即可。
需要什麼軟體?
如何安裝?
export theos=/opt/theos
如何建立應用?
curl -o $theos/templates/iphone/接下來我們只需執行nic來建立notification center widget的應用模板:
首先進入helloworld專案目錄,看看nic為我們生成了什麼檔案:
makefile,上文中提到了:theos是基於make的編譯系統,自然少不了makefile。
control,這是對deb包的描述,例如package的名稱、作者、package的依賴等,以鍵值對的形式存在。在cydia的作者jay saurik的這篇部落格中對control的鍵值做了詳細的說明。
theos,這是乙個軟連線檔案,指向的是theos的路徑。
resource,這個目錄下用於存放資源檔案。其中包含了bundle的描述檔案:info.plist。如果你的應用有,那麼你應該把放到這個目錄下。 由於要通過ssh把deb package安裝到裝置中,所以我們需要向theos提供裝置的ip位址。theos提供了乙個變數,theos_device_ip,用於指定裝置的ip位址。下面我們在makefile檔案的頭部增加一行設定該變數(變數的值取決於裝置的ip位址):
theos_device_ip = 192.168.1.110由於theos在傳送deb至裝置並安裝的過程中,使用了ssh遠端執行了幾個命令,所以會經常提示輸入密碼,為了避免頻繁地輸入密碼。你可以生成乙個ssh public key,並將其加到裝置的authorized keys中。具體請參見這篇教程。
那麼我們編譯執行一下吧。執行下面的命令來編譯打包並將package安裝到裝置中:
make package install命令執行完之後,裝置會respring,這是正常現象(參見makefile的最後一行),是因為notification center widget的安裝/解除安裝都需要respring才能生效。
springboard啟動後,拉下通知中心,其中出現了一塊內容空空的部分,那就是你的widget了。
接下來,你就可以向這個hello world中增加你想要的功能了。enjoy!
iOS越獄開發環境搭建 theos
前段時間在開發乙個越獄應用,用於在通知中心顯示陽曆和陰曆,名為chinese calendar for notification center。第一次研究越獄開發,四月七号開始編碼到昨天,在這兩周裡,從無到有,接觸了notification center widget和preference bunl...
最新IOS7 越獄開發環境搭建
針對ios7.x版本,使用iosopendev進行開發。一 mac端 基礎要求 mac os x 10.8及以上 推薦mac os x 10.9 xcode5.0及以上 command line tools已安裝 1.安裝macports 此處是為了安裝dpkg 這裡不可以安裝homebrew,若已...
IOS 越獄開發
2 準備目錄 debian control control檔案就是打包時的配置檔案,它也會作為deb包的配置被打包到包中,檔案例子 cpp view plain copy package com.zz.tianc name tianc version 0.1 1 description tianc,...