曾经在cocoachina看过有人评论,越狱开发,只要找个稍微懂UNIX和Objective-C的开发人员就行了。看见这话真是无比痛心。AppStore开发者即使再痛恨越狱,但也没必要用如此言语贬低越狱开发人员。越狱开发可能想象中很是简单,但绝不是简单到用几个Private API或者在搞个重启关机等等事情(说实话重启手机还真不是一句代码能实现的)。越狱开发混了几个月,发现自己知识面完全不行。从我不成熟的眼光看来,越狱开发需要以下的几个素质:

  • Objective-C以及iOS开发
    这一点算是囊括了AppStore开发的东西。没有公司会愿意开发一个没有用户界面的东西。相比于AppStore开发,越狱开发的好处是可以使用Private API,但同时需要忍受无文档,以及一堆数据类型为id的变量带来的痛苦。

  • UNIX
    权限、脚本、进程管理,等等,哪一个不会都可能成为开发中的软肋。对于操作系统没好好学过的我,可怜了我的肋骨哟。

  • iOS的特性
    这一点抽象到连我自己也说不清。iOS作为一个类UNIX系统,肯定有一套属于自己的特性。掌握它的特性的人,需要是一个拥有理性头脑的果粉(可惜我不是)。对iOS特性的掌握可以快速找到各种奇奇怪怪的需求的解决方案,以及解决各种无log无法调试无稳定重现路径的bug甚至崩溃甚至白苹果。说个最近遇到的,某天发现了我的未接来电无法显示在通知栏了,于是我在某个文件夹里翻到了某张plist打开阅读之后果断删了,重启SpringBoard后一切正常,这能说成是一种敏感么? 扯远了。说说越狱的开发环境。其实作为一个不太入流的领域,不能指望哪个大公司某天推出一套越狱开发工具。不过,多亏了国外几位越狱大神,越狱开发才逐渐模板化。刚接触越狱开发时,最有名的莫过于theos了,模板多且编译简单。不过,今年二月发布的iOSOpenDev则集合了theos的所有优势,同时集合到Xcode之中,还能实现简单的deb打包,算是贴心尽意了。

安装iOSOpenDev之前,可先确认:

  • Xcode4.0及以上
  • dpkg已安装。利用的是dpkg相关的东西,打包这些东西避免不了。推荐使用macports安装
  • git已安装。利用的是git相关的东西,很多开源项目都托管在git上
  • thoes已安装。很多旧的开源项目都是可不是由iOSOpenDev创建的,使用theos可以快速编译他们,同时iOSOpenDev的Logos模板是依托于theos的,而Logos模板,在我看来是tweak开发最优秀的模板,没有之一

接下来就可以安装iOSOpenDev。一直确定下去,假如不需要打包功能,则不需要填写IP等东西。事实上除了学习之外,基本可以忽略打包功能,脚本打包才是王道。 更详细的东西,可以看这里。 安装完毕,打开Xcode,新建工程,发现有iOSOpenDev一项,还有大量模板可选时,说明环境搭建已成功。Enjoy it!