仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1761|回复: 19
打印 上一主题 下一主题

[学习教程] IOS编程之GNUstep:Objective-C的开源开辟情况仓酷云

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:42:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还有很多工具需要学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的编译
  1. $apt-getinstallgobjc$gcc-xobjective-chello.m-ohello
复制代码
hello.m任意写几个c函数,编译经由过程就OK了。比方:
  1. intmain(intargc,constchar*argv[]){printf("HelloObjective-C!");return0;}
复制代码
Step2:安装GNUstep
  1. $apt-getinstallgnustep$apt-getinstallgnustep-devel$apt-getinstalllibgnustep-base-dev
复制代码
Step3:设置GNUSTEP_MAKEFILES和实行GNUstep.sh,主动加载别的情况路径
  1. $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内容以下:
  1. #import<Foundation/Foundation.h>
复制代码
  1. intmain(intargc,constchar*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSLog(@"HelloGNUstep!!n");[poolrelease];return0;}
复制代码
编译一下:
  1. $gcc-Wall-g-ohellohello.m-I/usr/include/GNUstep/-fconstant-string-class=NSConstantString-lobjc-lgnustep-base$./hello2012-08-1617:54:08.315hello[12915]HelloGNUstep!!
复制代码
编译没有堕落,运转hello看到”Hello….”,祝贺你!GNUstep安装乐成!
4.Windows下安装GNUstep

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




  • 官方主页: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),看别人写的博客详解
莫相离 该用户已被删除
5#
发表于 2015-2-5 21:36:36 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
飘灵儿 该用户已被删除
6#
发表于 2015-2-6 22:07:01 | 只看该作者
边吃零食边看Stanford的视频教程
7#
发表于 2015-2-8 11:07:52 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
海妖 该用户已被删除
8#
发表于 2015-2-25 09:55:15 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
爱飞 该用户已被删除
9#
发表于 2015-2-25 21:29:20 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
透明 该用户已被删除
10#
发表于 2015-2-26 22:01:23 | 只看该作者
因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。
变相怪杰 该用户已被删除
11#
发表于 2015-3-8 18:09:08 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
蒙在股里 该用户已被删除
12#
发表于 2015-3-12 05:38:46 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
只想知道 该用户已被删除
13#
发表于 2015-3-13 01:07:14 | 只看该作者
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
柔情似水 该用户已被删除
14#
发表于 2015-3-24 19:59:11 | 只看该作者
以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
admin 该用户已被删除
15#
发表于 2015-4-3 01:19:16 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
冷月葬花魂 该用户已被删除
16#
发表于 2015-4-9 01:00:12 | 只看该作者
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
愤怒的大鸟 该用户已被删除
17#
发表于 2015-4-15 18:50:30 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
再见西城 该用户已被删除
18#
发表于 2015-4-16 23:10:33 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
谁可相欹 该用户已被删除
19#
发表于 2015-4-19 09:52:11 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
活着的死人 该用户已被删除
20#
发表于 2015-4-21 00:32:45 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 12:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表