Jailbreaking iPhone: 把 iPhone 变成一台开发工作站

iPhone 和 iPad 内部基本上是 CMU 的 Mach 内核上运行着的 NetBSD 操作系统服务。从这些出色的操作系统技术来看, iPhone 和 iPad 不逊色于任何一款电脑。

自从买了 iPhone 4,我一直在琢磨着怎么怎么把它变得跟一台开发用的电脑一样,比如像装了开发环境(Homebrew)的 Mac MINI 一样。从 Apple Store 上买了一根 iPhone/iPad to VGA 适配电缆之后,我的 iPhone 可以输出到电视和显示器。在 jailbreak 工具(redsn0w)和 Cydia 的帮助下,我可以把 iPhone 和无线键盘、无限鼠标连接起来。我还安装了 iPhone 上的 Mobile Terminal  和一些常用的工具程序,包括和 awk 和 vim。随后,感谢牛鼻的黑客们提供了 GCC 4.2 和 Google Go compiler 的 iPhone 版本。然后呢,用 iPhone 写程序大概就是这个样子的(我其实可以把 iPhone 横过来,这样更能充分利用电视宽屏的空间;图中配角男还应该减减肥):

在 iPhone 上用 vim 编辑 C 语言和 Go 语言程序的样子如下:

 

编译和运行程序的样子是这样的:

 

附上一些秘笈:

  • Cydia 里默认的 Mobile Terminal 版本低,在 iOS 5 上会crash。安装 up-to-date 的 Mobile Terminal:http://iphonejailbreaks.org/mobile-terminal-crashes-on-ios-4-3-1-here-is-the-solution/
  • 在手机上用 Mobile Terminal,如果没有无限键盘,敲键太慢。通常是通过电脑 ssh 到 iPhone 的:http://www.cultofmac.com/32134/access-your-iphone-file-system-with-ssh-jailbreak-superguide/
  • 在 Apple Store 上购买 iPhone/iPad 的 VGA 转接电缆:http://store.apple.com/us/product/MC552ZM/B
  • 在 Cydia 上安装一个叫 DisplayOut 的软件,把 iPhone 屏幕上的内容通过电缆输出到电视或者显示器上。如果没有安装这个软件,只有部分 iPhone 程序能输出到 VGA。
  • 在 Cydia 上安装一个叫 BT Keyboard 的程序让 iPhone 可以连接无线键盘
  • 在 Cydia 上安装一个叫 BT Mouse 的程序让 iPhone 可以连接无线鼠标
  • 在 iPhone 上安装 GCC 4.2:https://cxwangyi.wordpress.com/2012/01/28/how-to-install-gcc-4-2-on-iphone/
  • 在 iPhone 上用 GCC build Google Go 语言的编译器:https://cxwangyi.wordpress.com/2012/01/28/learning-go-go-for-iphoneipad/