針對越獄的iPhone,大家肯定都知道用Cydia來安裝各種免費應用的經歷。Cydia中是否能指定我們自己的發布源,讓我們自己隨心所欲地發布程序給別人呢?答案是肯定的,我們只要創建Cydia的發布repository即可。
Linux Debian
首先,我們需要有Linux Debian或者Ubuntu系統來制作Cydia的發布源。如果你沒有Linux Debian系統的機器,不要緊,可以隨時用VMware Player或VirtualBox虛擬機來安裝一個。
安裝的時候用i386的iso即可,如果是64bit的OS用amd64的image來安裝。安裝的時候,選擇Graphical Install,其他缺省安裝。
腳本工具
下載下面兩個腳本文件到本地,並加上可執行屬性。
- 下載dpkg-scanpackages到/usr/bin
- 下載dpkg-gettext.pl到/etc/perl。
制作deb文件
- 以名稱為MyProgram的程序微粒,首先在home目錄下建立下面的目錄結構
1 2 3 4 5 6 7 8 9 10 |
Cydia +- MyProgram +- DEBIAN | +- control +- var +- mobile +- MyProgram.app +- Info.plist +- MyProgram +- icon.png |
可以看出來,我們需要把程序MyProgram安裝到/var/mobile/中去.
DEBIAN目錄下面有一個名為control的文件,我們來看看它的內容。
1 2 3 4 5 6 7 8 9 |
Package: net.yifeiyang.MyProgram Name: MyProgram Version: 1.0.4-1 Architecture: iphoneos-arm Description: test text. Homepage: http://www.yifeiyang.net Maintainer: YIFEIYANG <kane_yj@hotmail.com> Author: YIFEIYANG <kane_yj@hotmail.com> Section: Games |
名稱 | 說明 |
---|---|
Package | 唯一標示Package的名稱,一般用「域名.Package名」 |
Name | 程序的名稱 |
Version | 程序版本,不能使用字母 |
Architecture | 固定為iphoneos-arm |
Description | 程序概要說明,將顯示在Cydia的說明頁內 |
Homepage | 程序網頁 |
Maintainer | 維護者名稱,郵箱 |
Author | 作者,郵箱 |
Section | 所屬類型,設定了之后,程序名旁邊將顯示具體的icon |
- 編譯在制作DEB文件很簡單,只需要
1 2 |
cd ~/Cydia
dpkg-deb –b MyProgram |
這之后,我們就可以試試該deb文件,用iFile將文件上傳到iPhone上並安裝,查看/var/mobile/下的情況。這里我們可以使用iPhone開發技巧之發布篇(6)— 不需Developper認證的真機調試方法中的方法制作我們的程序,從而不需要驗證信息。
制作Repository
- 每次追加新的deb文件,或者是deb文件有更新時,需要做下面兩步
1 2 |
dpkg-scanpackages –m . /dev/null >Packages bzip2 Packages |
OK了,接下來我們就可以把Packages.bz2和MyProgram.deb這兩個文件上傳到你的web服務器中,然后把地址作為Source添加到Cydia中就搞定了。如果沒有web服務器也沒有關系,可以使用Dropbox等共享網盤,得到唯一的一個URL即可。