白桦的天空

第一次的心动,永远的心痛!
  首页  :: 新随笔  :: 联系 :: 管理

cygwin 开发平台(windows版 iPhone SDK) 开发教程

Posted on 2009-04-01 12:58  白桦的天空  阅读(7103)  评论(0编辑  收藏  举报

 iPhone开发的介绍之前就想写了,只是最近站长又跑回去玩机器人,所以iPhone文章的撰写就有一点小偷懒,不过今天还是找了个时间把他完成。 
若您够细心且对iPhone上开发程式有兴趣的朋友可能都已经发现到,我们已提供了iPhone的完整开发环境cygwin (什么是cygwin),若您一直没注意到也没关系,现在我就带您认识一下cygwin及在cygwin的环境下如何编译及开发iPhone的原生程式。若您够细心且对iPhone上开发程式有兴趣的朋友可能都已经发现到,在本站的档案下载区早就已提供了iPhone的完整开发环境cygwin,若您一直没注意到也没关系,现在我就带您认识一下cygwin及在cygwin的环境下如何编译及开发iPhone的原生程式。

对一般人来说想开发iPhone的程式首先得克服的第一关就是iPhone ToolChain的编译,什么是iPhone的ToolChain?对一般人来说想开发iPhone的程式首先得克服的第一关就是iPhone ToolChain的编译,什么是iPhone的ToolChain? 简单的来说就是让您在Linux或osx的系统下拥有编译及开发iPhone原生程式的环境,详细的资讯您可以参iPhone-dev的官方资讯。简单的来说就是让您在Linux或osx的系统下拥有编译及开发iPhone原生程式的环境,详细的资讯您可以参iPhone-dev的官方资讯。

目前iPhone ToolChain支援的环境有Linux及osx,若要在Windows下开发则必须透过我们今天的主角cygwin来模拟Windows的环境了(当然您也可以选择在Windows上安装vmware或virtualbox来架设Linux的系统),为何要选择cygwin做为我们开发iPhone的平台呢?目前iPhone ToolChain支援的环境有Linux及osx,若要在Windows下开发则必须透过我们今天的主角cygwin来模拟Windows的环境了(当然您也可以选择在Windows上安装vmware或virtualbox来架设Linux的系统) ,为何要选择cygwin做为我们开发iPhone的平台呢? 除了站长本身习惯使用Windows之外,最重要的是cygwin简单而且不需要设定与安装,这点可以让所有人都能在一个相同的环境之下来学习iPhone的开发,工欲善其事必先利其器,若大家的使用环境都可能因安装或设定的不同而有所差异,我想相对的遇上的状况与困难也会增加不少,甚至有可能在还没接触到iPhone程式的撰写之前就直接阵亡,这样就太可惜了,因为iPhone程式的开发并非想像中那样的困难。除了站长本身习惯使用Windows之外,最重要的是cygwin简单而且不需要设定与安装,这点可以让所有人都能在一个相同的环境之下来学习iPhone的开发,工欲善其事必先利其器,若大家的使用环境都可能因安装或设定的不同而有所差异,我想相对的遇上的状况与困难也会增加不少,甚至有可能在还没接触到iPhone程式的撰写之前就直接阵亡,这样就太可惜了,因为iPhone程式的开发并非想像中那样的困难。

早期站长为了尝试编译出正确的iPhone ToolChain吃了不少苦头,无论是安装Linux系统,或是使用cygwin测试,甚至是差点买了一台iMac,都是希望能赶快进入iPhone开发的世界,可惜,所有的努力仍告失败,所幸,在某一个因缘际会下站长取得了成功编译iPhone ToolChain的cygwin版本,这是一个相当重要的开始,这也是我能写这篇文章的主要原因。早期站长为了尝试编译出正确的iPhone ToolChain吃了不少苦头,无论是安装Linux系统,或是使用cygwin测试,甚至是差点买了一台iMac,都是希望能赶快进入iPhone开发的世界,可惜,所有的努力仍告失败,所幸,在某一个因缘际会下站长取得了成功编译iPhone ToolChain的cygwin版本,这是一个相当重要的开始,这也是我能写这篇文章的主要原因。

好了,现在让我们赶快进入主题吧,首先您必须从本站的软体区下载专用的cygwin版本好了,现在让我们赶快进入主题吧,首先您必须从本站的软体区下载专用的cygwin版本

直接点此进入下载

然后进入ShareMe的档案下载区下载iphone-sdk-cygwin-3.0_iphonetw.rar档案(您必须先注册为ShareMe的会员)。然后进入ShareMe的档案下载区下载iphone-sdk-cygwin-3.0_iphonetw.rar档案(您必须先注册为ShareMe的会员)。

档案不小,有159MB ,请耐心下载,下载完成后请直接将档案进行解压缩即可,建议预设路径为d:\ ,若您要放在任何地方也没关系。档案不小,有159MB ,请耐心下载,下载完成后请直接将档案进行解压缩即可,建议预设路径为d:\ ,若您要放在任何地方也没关系。

解压后您会在d:的根目下找到cygwin的资料夹,而在进入cygwin之前,首先我们先要设定一下环境变数,请用文书处理软体打开d:\cygwin\etc\下的profile档案并寻找解压后您会在d:的根目下找到cygwin的资料夹,而在进入cygwin之前,首先我们先要设定一下环境变数,请用文书处理软体打开d:\cygwin\etc\下的profile档案并寻找

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin :/opt/iphone/bin :$PATH 
export PATH export PATH

并加入红色字的字串,然后直接执行d:\cygwin资料夹下面的Cygwin.bat档案就可以进入cygwin的开发环境。并加入红色字的字串,然后直接执行d:\cygwin资料夹下面的Cygwin.bat档案就可以进入cygwin的开发环境。

接下来我们会使用到一些简单的Linux指令,若有不熟悉的请利用Google查询,这里我就不多加说明。接下来我们会使用到一些简单的Linux指令,若有不熟悉的请利用Google查询,这里我就不多加说明。

若您在cygwin的画面中看到hello的资料夹,那恭喜您,欢迎进入iPhone创作的世界,对于任何的程式语言来说,不能免俗的我们也来写我们在iPhone上的第一支程式helloworld !若您在cygwin的画面中看到hello的资料夹,那恭喜您,欢迎进入iPhone创作的世界,对于任何的程式语言来说,不能免俗的我们也来写我们在iPhone上的第一支程式helloworld !


我们赶快切换到hello 的目录,此时您会发现在hello的资料夹有目前一共有八支档案,关于这八支档案的功能及用途我陆续会在后面的专栏文章内介绍,而这里看到的档案清单对照到您在Windows档案总管内看到的目录及档案是相同的,如我们赶快切换到hello的目录,此时您会发现在hello的资料夹有目前一共有八支档案,关于这八支档案的功能及用途我陆续会在后面的专栏文章内介绍,而这里看到的档案清单对照到您在Windows档案总管内看到的目录及档案是相同的,如

/opt/iphone/hello则等于D:\cygwin\opt\iphone\hello /opt/iphone/hello则等于D:\cygwin\opt\iphone\hello

另外由于iPhone的程式是属于描述式的语言,因此我们直接以文字处理器(记事本notepad或是NotePad++)来进行程式码的撰写即可,现在我们打开HelloApplication.m这支档案如下图:

 

 

您可以将上述的文字修改为任何您想要的,这里将Hello world改为My First iPhone Apps ,然后存档后再回到cygwin的操作画面。您可以将上述的文字修改为任何您想要的,这里将Hello world改为My First iPhone Apps ,然后存档后再回到cygwin的操作画面。

首先先清除之前产生的暂存档,请在指令列下首先先清除之前产生的暂存档,请在指令列下

make clean make clean

然后我们开始进行编译并产生iPhone可使用的原生软体的格式然后我们开始进行编译并产生iPhone可使用的原生软体的格式

make

若编译正确则会不会产生任何的错误讯息,而过程的画面会同上图。若编译正确则会不会产生任何的错误讯息,而过程的画面会同上图。

恭喜您,您完成了您iPhone上的第一支原生程式啰,现在只要将您的程式上传至iPhone就可以了。恭喜您,您完成了您iPhone上的第一支原生程式啰,现在只要将您的程式上传至iPhone就可以了。

刚刚提到hello的资料夹下有八支档案,这其中有的是原始码,有的是编译后产生的连结与执行档,若您不希望将您的原始码给人家看到,那么您就必须挑出程式‘必要’的档案即可。刚刚提到hello的资料夹下有八支档案,这其中有的是原始码,有的是编译后产生的连结与执行档,若您不希望将您的原始码给人家看到,那么您就必须挑出程式‘必要’的档案即可。

我们先建立一个名为hello.app的资料夹并将Hello及Info.plist上传到您iPhone的Application目录。我们先建立一个名为hello.app的资料夹并将Hello及Info.plist上传到您iPhone的Application目录。

上传后记得修改hello.app 的档案及资料夹权限,左下角的那个套用的勾一定要打开喔。上传后记得修改hello.app的档案及资料夹权限,左下角的那个套用的勾一定要打开喔。

 

接下来将iPhone重新开机(或是利用SummberBoard内的Restart SpringBorard功能),您就能在桌面上看到您刚上传的hello 程式啰,因为我们并未指定软体的图示,所以您看到的暂时是一个问号,赶快给他点下去吧。接下来将iPhone重新开机(或是利用SummberBoard内的Restart SpringBorard功能),您就能在桌面上看到您刚上传的hello程式啰,因为我们并未指定软体的图示,所以您看到的暂时是一个问号,赶快给他点下去吧。


Perfect! 虽然目前只能有上下点选的功能,不过这可是道道地地的iPhone原生程式喔,有没有那么一点感动的Feel呢?虽然目前只能有上下点选的功能,不过这可是道道地地的iPhone原生程式喔,有没有那么一点感动的Feel呢? 若真有心从事iPhone软体的开发,那后面还有好长的一段路要走,对站长来说,同样也仍在学习,就让我们一起加油、努力吧!若真有心从事iPhone软体的开发,那后面还有好长的一段路要走,对站长来说,同样也仍在学习,就让我们一起加油、努力吧!


有对开发感兴趣的朋友可以和我交流交流: QQ:545992660 email:ieliwb@gmail.com