WEB开发网
开发学院手机开发iPhone 开发 比较官方iPhone SDK和开源工具链 阅读

比较官方iPhone SDK和开源工具链

 2010-08-22 00:46:00 来源:WEB开发网   
核心提示:当Jobs宣称“iPhone SDK提供的是和苹果内部开发人员使用的相同的工具”时,他显然忘了在iPhone SDK发布之前几个月,比较官方iPhone SDK和开源工具链,就有人开始使用开源的Open Tool Chain工具进行iPhone软件的开发了,官方发布的iPhone SDK显然并非他们内部开发人员使用的工

当Jobs宣称“iPhone SDK提供的是和苹果内部开发人员使用的相同的工具”时,他显然忘了在iPhone SDK发布之前几个月,就有人开始使用开源的Open Tool Chain工具进行iPhone软件的开发了。

官方发布的iPhone SDK显然并非他们内部开发人员使用的工具,因为官方发布的SDK附加了相当多的限制:开发者必须付99美金获取代码签名、程序无法在后台运行(著名的经常被人骂的One App at a Time)以及无法使用很多低级的API等等。虽然苹果宣称这种做法是为了提高安全性以及让开发者开发过程更简便快捷,但是无疑这也同样是被开发者诟病的问题所在。

本文比较了官方iPhone SDK和开源工具链的区别以及与iPhone相关的一些数据分析,以便国内开发者更好地进行iPhone软件的开发。

如果你想为国内的用户开发一些基于iPhone的有用的应用软件,本文帮你分析了官方iPhone SDK和开源的工具链的区别,还帮你简单地分析了一下iPhone的市场及预测,以做为你进行iPhone开发前选择项目以及选择开发环境的参考,推荐阅读。

如果您想转载本文,请务必先联系本站(http://www.cocoachina.com)。

API比较

iPhone有两层不同的框架,分别是底层API和iPhone SDK。

底层API就是我们在iPhone 1.0和1.1中使用的“开源工具链”,苹果虽然自己在iPhone内置的软件中一直在使用这部分API,但是并没有在官方发布的SDK中附带这些API的定义。这部分API直接和底层的框架运行库对话。

“开源工具链”叫做“Open Source Toolchain”,是一些黑客及苹果爱好者通过对iPhone进行破解及修改,开发出的一套开发工具。这批黑客中的领军人物叫做Jonathan Zdziarski (http://www.zdziarski.com/) ,他开发了第一个iPhone上的任天堂红白机模拟器。

苹果官方发布的iPhone SDK则将这部分底层API进行了包装,用户的程序只能和苹果提供的iPhone SDK中定义的类进行对话,而这些类再和底层的API进行对话。最明显的例子就是OpenGL ES,苹果官方发布的iPhone SDK中的OpenGL ES实际是和底层API中CoreSurface这个框架进行对话,来实现渲染功能。

苹果官方发布的iPhone SDK对底层API进行了很大的限制。官方的SDK是在某些底层API之上增加了一层针对开发者的类库,供开发者使用,而开源工具链则是使用class-dump (http://www.codethecode.com/projects/class-dump/) 等工具直接将iPhone手机中所有框架的类定义、分类和协议直接抠出来,这样开发者就可以通过抠出来的头文件定义直接与iPhone中的所有框架库进行对话。

1 2 3  下一页

Tags:比较 iPhone

编辑录入:coldstar [复制链接] [打 印]
赞助商链接