针对越狱的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即可。