ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 搭建Win XP下iPhone开发环境

搭建Win XP下iPhone开发环境

原创 Linux操作系统 作者:c00lsun 时间:2009-04-21 15:08:10 0 删除 编辑

这篇文章将告诉你怎样在Windows XP SP2操作系统上搭建iPhone 2.x开发环境。

在开始之前,请先准备好

7zip

纳米机器人

RaySource

文章中的资源提供了纳米盘(需要纳米机器人),RayFile(需要RaySource)以及QQ文件中转站三种下载方式,部分压缩包可能会使用到7zip。

(如果大家觉得文章中的资源下载速度慢,可以去这里下载)

请确保你的iPhone已经越狱,并且安装了openSSH和ldid(均可通过Cydia获得)。

如果你觉的这篇文章中的步骤太麻烦,你可以直接下载安装了iPhone Tool Chain的虚拟机

虽然iPhone SDK只能运行在Mac OS Leopard上,但是其使用的iPhone Tool Chain(工具链)是基于开源的gcc的。所以经过国外iphone-dev team的添加和修改,我们现在可以在非Mac OS平台上安装iPhone Tool Chain。所谓iPhone Tool Chain,就是一组工具(包括一个交叉编译器,链接器等等),这组工具可以将我们编写的Objective-C代码编译成可以在iPhone上运行的可执行文件。

我们可以获取的是iPhone Tool Chain的源代码,我们需要将源代码在操作系统中进行编译,这样编译出来的iPhone Tool Chian才可以运行在特定的操作系统上。大致示意图如下


所以第一步就是要在Windows XP下搭建编译iPhone Tool Chain的环境。

1.搭建Windows XP下的编译环境

在这里我们需要使用到Cygwin,Cygwin可以在Windows下创建类似UNIX的环境。

Cygwin安装程序(setup.exe)

cygwin_packages 纳米盘下载 RayFile下载 QQ文件中转站(提取码 7928ae3f)

将cygwin_packages解压到桌面上。双击运行刚才下载的setup.exe()。点击Next,直到我们看到如下界面,选则Install From Local Directory选项

点击Next,出现选择安装目录的界面,为了使问题尽量保持简单,请保正Root Directory中的路径为c:\cygwin。其他选项保持不变

点击Next,使Local Package Directory指向我们解压到桌面上的cygwin_packages文件夹。

点击Next,安装程序会开始扫描我们刚才指定的路径,并返回一个包列表。首先展开Devel项,你会看见如下列表

选中Devel项下的所有包,点击每个包左侧的Skip以选中该包。这里有一点需要注意,当你选中一个包时,一些与该包有依赖关系的包也会同时选中。全部选中后的列表应该如下图所示

接下来使用同样的方法,展开Net项,并且选择Net项下的所有包。

继续点击Next,就进入了安装阶段,待安装完成,编译环境就搭建好了。

2.获取iPhone Tool Chain源代码:

iPhone Tool Chain源代码 纳米盘下载 RayFile下载 QQ文件中转站(提取码 a789fe09)

将下载的iphone-2.0-toolchain压缩包拷贝至

c:\cygwin\home\yourname

请将yourname替换为自己的用户名。(你需要首先运行一次Cygwin,Cygwin才会在c:\cygwin下创建home目录), 将压缩包解压到当前目录,解压完成后,请确保你的目录结构如下所示,否则会在编译时出现问题。

接下来将iphone-2.0-toolchain目录下的make-toolchain文件删除,替换成新的make-toolchain

3.提取iPhone固件中的文件。

在编译iPhone Tool Chain的过程中需要使用iPhone固件中的三个文件夹,分别是

/System/Library/Frameworks
 
/System/Library/PrivateFrameworks
 
/usr/lib

你可以在下面的链接中下载已经提取好的文件。(本文提供的下载文件提取自iPhone1,1_2.0_5A347_Restore.ipsw,从该版本固件中提取的文件可以成功编译出iPhone Tool Chain,其他版本的固件提取出的文件我没有测试过是否可以正确编译)

iphone-sys 纳米盘下载 RayFile下载 QQ文件中转站(提取码 454e80a8)

请将压缩包中的Framework和PrivateFramework两个文件夹拷贝到

c:\cygwin\home\yourname\iphone-2.0-toolchain\iphone-fs\System\Library

将lib文件夹拷贝到

c:\cygwin\home\yourname\iphone-2.0-toolchain\iphone-fs\usr

拷贝完成后,请确保iphone-fs中的目录结构如下所示

到此为止,我们的准备工作就完成了。

4.编译iPhone Tool Chain

双击桌面上的Cygwin图标,在打开的命令行(本文所说的命令行均是指Cygwin命令行,而不是Windows自带的cmd命令行)窗口里输入

cd iphone-2.0-toolchain

./make-toolchain

命令行会停顿大约3分钟,接着就会输出大量编译信息,这个过程会持续大约两个小时。

如果你发现命令行停止滚动,并且出现了类似下图中的几行信息,那恭喜你,你已经编译成功了。

5.编译iPhone程序

有了iPhone Tool Chain,我们就可以编译iPhone程序了,在命令行里输入

cd ~/iphone-2.0-toolchain/examples/GUI/HelloWorldiPhone

这个目录下存放着一个简单的iPhone程序的源码,接着我们在命令行输入

make

待命令行停止滚动之后,编译就完成了,在HelloWorldiPhone目录下会生成一个HelloWorld.app文件夹,接下来我们要做的就是将这个文件夹拷贝进iPhone。

6.运行程序

使用SCP连接到iPhone,将HelloWorld.app拷贝至iPhone的/Applications目录下,接着在SCP终端中输入

chmod -R 755 /Applications/HelloWorld.app

ldid -S /Applications/HelloWorld.app/HelloWorld

如果不使用ldid给可执行文件打上一个签名,那么程序一启动就会被系统终止(kill)。最后将iPhone重启或者respring一下,就可以看见我们的程序图标了(一个问号),点击运行,界面如下图所示


在文章的最后,我推介一本书iPhone Open Application Development,这本书讲的就是如何在非官方iPhone SDK环境下开发iPhone应用程序。书中介绍的编译iPhone Tool Chain的方法,我尝试过,但是没有成功。不过你完全可以跳过,直接进入介绍iPhone应用程序开发的章节。因为你已经拥有了iPhone Tool Chain。

本文的编译方法来自IBM developWorks的一篇文章:使用Eclipse CDT 编写本机iPhone应用程序

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9059159/viewspace-591160/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-23

  • 博文量
    31
  • 访问量
    47075