金色的骷髅 发表于 2015-1-18 11:42:27

IOS编程之GNUstep:Objective-C的开源开辟情况仓酷云

还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法Objective-C近几年变得越来盛行,TIOBE天下编程言语排行榜中Objective-C的排名不休上升,同时也反响出Apple平台的开辟遭到愈来愈多的人存眷。Objective-C言语作为Apple天下的官方言语,不管是MAC开辟仍是iOS开辟,乃至体系层的编写它都可以胜任。交融了C和Smalltalk的面向对象特征,Objective-C变得复杂、高效(比起C++等面向对象言语)。一样平常情形下,要想玩玩Objective-C,能够购置一台MAC电脑+收费的Xcode,就具有了一整套Objective-C的开辟情况,就能够为你的iPhone、iPad、iTouch、Mac机编写使用了。Apple的工具,唱工精密的同时也代价不菲,难怪有人说:“单反毁三代,苹果毁平生”。本文要给人人保举一个开源的Objective-C开辟情况——GNUstep,今后今后你既能够在Linux平台上玩ObjC,也能够在Windows平台上玩ObjC了。
1.一点汗青

复杂来讲,GNUstep是利用OpenStep界面的开源(OpenSource)企图,目标为供应跨平台的面向对象的开辟情况。
早在1985年,SteveJobs分开苹果电脑(Apple)后建立了NeXT公司,并于1988年推出了NeXT电脑,利用NeXTStep为操纵体系。在事先,NeXTStep是相称先辈的体系。以Unix(BSD)为基本,利用PostScript供应高品德的图形界面,并以Objective-C言语供应完全的面向对象情况。
只管NeXT在软件上的优秀,其硬体发卖成就欠安,不久以后,NeXT便转型为软件公司。1994年,NeXT与Sun(SunMicrosystem)互助推出OpenStep界面,方针为跨平台的面向对象程式开辟情况。NeXT接着推出利用OpenStep界面的OPENSTEP体系,可在Mach,MicrosoftWindowsNT,SunSolaris及HP/UX上实行。1996年,苹果电脑买下NeXT,做为苹果电脑下一代操纵体系的基本。OPENSTEP体系便演进成为MacOSX的Cocoa情况。
在1995年,自在软体基金会(FreeSoftwareFundation)入手下手了GNUstep企图,目标在利用OpenStep界面,以供应Linux/BSD体系一个完全的程式开展情况。但因为OpenStep介面过于复杂,开辟人力不敷,及很多手艺在事先还没有成熟(如DisplayPostScript),以是直到今朝为止,GNUstep才算是一个完全的编程开辟情况。
只管OpenStep早在1994年便提出,其界面及架构在当今仍相称先辈及有用,使得开辟GNUstep程序相称简单。
2.简介

GNUstep利用Objective-C言语,是C言语加上SmallTalk的面向对象的功效。分离二者的长处,又不至于像C++庞大。
GNUstep供应两个次要的程序库,Foundation及AppKit。Foundation处置非图形介面的部分。如字串,档案,网路,基础材料布局,多行绪等,又称之为GNUstepBase。AppKit则处置图形介面的部分,包括视窗,利用者界面等,又称之为GNUstepGUI。
因为GNUstep具有跨平台的特征,有关画图及字型的部分,则交由GNUstepBack来处置。利用者可依所利用的操纵体系,选择得当的后端处置(Backend)。GNUstepGUI会自行处置与Back相干的功效,程式开辟者只需利用GUI程式库,即可合用于各类后端上,完整不必思索平台成绩。
3.Linux下安装GNUstep

在此仅先容一下Ubuntu上面的安装,别的安装办法,参考GNUStep官方文档:http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_toc.html。
Step1:让gcc撑持objective-C的编译
$apt-getinstallgobjc$gcc-xobjective-chello.m-ohellohello.m任意写几个c函数,编译经由过程就OK了。比方:
intmain(intargc,constchar*argv[]){printf("HelloObjective-C!");return0;}Step2:安装GNUstep
$apt-getinstallgnustep$apt-getinstallgnustep-devel$apt-getinstalllibgnustep-base-devStep3:设置GNUSTEP_MAKEFILES和实行GNUstep.sh,主动加载别的情况路径
$chmod+x/usr/share/GNUstep/Makefiles/GNUstep.sh$exportGNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles$source/usr/share/GNUstep/Makefiles/GNUstep.sh也能够把前面两条放在.bashrc或.bash_profile中,如许就不必每次上岸大概新开终端都敲一遍了。
Step4:编译一个复杂的hello程序,测试下看GNUstep安装的是不是OK
hello.m内容以下:
#import<Foundation/Foundation.h>intmain(intargc,constchar*argv[]){NSAutoreleasePool*pool=[init];NSLog(@"HelloGNUstep!!n");;return0;}编译一下:
$gcc-Wall-g-ohellohello.m-I/usr/include/GNUstep/-fconstant-string-class=NSConstantString-lobjc-lgnustep-base$./hello2012-08-1617:54:08.315helloHelloGNUstep!!编译没有堕落,运转hello看到”Hello….”,祝贺你!GNUstep安装乐成!
4.Windows下安装GNUstep

Windows下安装GNUstep是对照复杂了,间接在此下载安装包:http://www.gnustep.org/experience/Windows.html,内置了MSYS体系。间接从菜单“入手下手”->”一切程序”->“GNUstep”->“shell”,创立Objective-C文件hello.m(内容同上),用以下命令编译:
$gcc-ohellohello.m-I/GNUstep/System/Library/Headers-L/GNUstep/System/Library/Libraries/-fconstant-string-class=NSConstantString-lobjc-lgnustep-base5.参考材料:




[*]官方主页:http://www.gnustep.org/


不管是学习Objective-C语言,还是学习ios,我都只是跟着书上的例子,在苹果机上,在Xcode和InterfaceBuilder开发环境中,按部就班的“抄”些应用程序。

深爱那片海 发表于 2015-1-21 12:59:40

我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。

飘飘悠悠 发表于 2015-1-28 05:17:19

iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

灵魂腐蚀 发表于 2015-2-2 21:52:15

在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解

莫相离 发表于 2015-2-5 21:36:36

AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

飘灵儿 发表于 2015-2-6 22:07:01

边吃零食边看Stanford的视频教程

仓酷云 发表于 2015-2-8 11:07:52

中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,

海妖 发表于 2015-2-25 09:55:15

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

爱飞 发表于 2015-2-25 21:29:20

看《iPhone 4与iPad开发基础教程》,跟着一步步来

透明 发表于 2015-2-26 22:01:23

因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。

变相怪杰 发表于 2015-3-8 18:09:08

到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了

蒙在股里 发表于 2015-3-12 05:38:46

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

只想知道 发表于 2015-3-13 01:07:14

有办法利用自己手头的电脑立刻开始这个美妙旅程的。

柔情似水 发表于 2015-3-24 19:59:11

以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。

admin 发表于 2015-4-3 01:19:16

近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,

冷月葬花魂 发表于 2015-4-9 01:00:12

iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。

愤怒的大鸟 发表于 2015-4-15 18:50:30

还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。

再见西城 发表于 2015-4-16 23:10:33

其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。

谁可相欹 发表于 2015-4-19 09:52:11

从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,

活着的死人 发表于 2015-4-21 00:32:45

才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
页: [1]
查看完整版本: IOS编程之GNUstep:Objective-C的开源开辟情况仓酷云