‘壹’ iOS 开发怎么入门
着作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Franz Fang
链接:http://www.hu.com/question/20264108/answer/30263999
来源:知乎
不管是斯坦福大学的CS193p公开课、苹果官方文档、绝大多数市场上庞杂的教学书籍都不是很适合入门同学看,想入门的话应该选用学习成本最低的方法,从最最基本开始讲起,并不是一味的讲解语法与知识,而是一边实践一边学习知识才是最好的学习方法。
并且我想告诉题主,你问的是iOS 开发怎么入门,但是你补充说明里说道的设计模式、内存管理等内容暂时不用你关心,等你真正iOS入门了以后在研究吧。也许我可以这么定义你的问题:
一个略懂编程的人并且完全没有接触过IOS开发的人想要学习IOS开发应如何学习?
--------------- 2015.5.15 更新 --------------
增加了怎么在Github上找优质OC项目
动画效果推荐的教程
部分段落重新组织了语言
(一)objective-c语言开发iOS应用
为什么不让初学者看斯坦福教程:我以为,斯坦福大学IOS公开课不适合入门的同学看,里面第一课讲解的就是MVC模式。对于一个刚入门想要学习的IOS的同学可能就完全懵了,心里想:“我特么第一课都听不懂我后面还学个P啊”。如果以前没接触过面向对象的语言学习的热情肯定大打折扣。
为什么不让初学者看苹果官方文档:我还以为,苹果官方文档的内容虽然权威但example对初学者一点都不友好,而且个人认为中文译文翻译不是令初学者很容易理解。初学阶段,教程的易理解程度我认为是非常重要的一点。(实在要看请看英文原版。)
我不否认以上两者是极好的学习材料,如果你入门了iOS开发并且有一定的英文功底,我是非常推荐你去看的,尤其官方文档,应该经常翻阅。但是我认为保持学习的热情是最重要的。本着这个理念,我推荐的学习方法难度非常低,希望你们能满意。
第一阶段: RayWenderlich网站中的 The iOS Apprentice教程 (难度指数:※)
<img src="https://pic3.mg.com/_b.jpg" data-rawwidth="646" data-rawheight="560" class="origin_image zh-lightbox-thumb" width="646" data-original="https://pic3.mg.com/_r.jpg">以上有几个答案提到了这个网站,但看什么教程没有细说,我在这里简单说说。The iOS Apprentice的教程针对完全没有编程经验的人设计。这个教程是外国人写的并且有免费试读版,感兴趣的人要看看。里面说的东西都非常非常基本,里面一个共讲解了4个不同类型app,强烈建议一步一步按照上面所写的步骤敲一遍代码。其中你会遇到很多复杂的语句和长的可怕的函数,你不用感到恐慌,照着敲,知道它干嘛用完全OK了,随着你编程时间以及经验的增加,你都会懂得。以上有几个答案提到了这个网站,但看什么教程没有细说,我在这里简单说说。The iOS Apprentice的教程针对完全没有编程经验的人设计。这个教程是外国人写的并且有免费试读版,感兴趣的人要看看。里面说的东西都非常非常基本,里面一个共讲解了4个不同类型app,强烈建议一步一步按照上面所写的步骤敲一遍代码。其中你会遇到很多复杂的语句和长的可怕的函数,你不用感到恐慌,照着敲,知道它干嘛用完全OK了,随着你编程时间以及经验的增加,你都会懂得。
附链接:http://www.raywenderlich.com/store/ios-apprentice
注:这个教程是英文原版,并且收费,只免费提供一个app的教程。如果看完了这个免费的教程觉得还挺想继续学的请参考 @王寒 老师的翻译教程(只有前3个app教程,第4个教程刚出,国内应该还没有人翻译,如果想看只能付费)。PS:(现在开发iOS应用基本都是用Objective-C,至于刚出来的Swift现阶段暂时不推荐学习,如果想了解王寒老师也做了swift版本的The iOS Apprentice教程翻译,自己去找)
附上王寒老师教程下载地址:https://github.com/eseedo/kidscoding
第二阶段:培训班的网络课程及入门书籍
经过第一个阶段你应该已经大致掌握IOS开发流程,能编写一个非常简单的应用了。这时候相信你的热情应该会很高涨,但接下来的学习可能会很枯燥,做好准备。网络课程的话推荐李明杰的课程,不推荐其他的。(他目前在广州创业建立自己的培训品牌,没有自制力看网络课程的请去找他。杰哥开源了一些非常优秀的框架如:MJExtension )
建议首先要恶补基础知识。经过第一个阶段你可能觉得你懂不少了,但是只是表面,尤其是没学过编程的应该好好学习一下视频前面的课程,主要看看语法。等你看恶心了看烦了就去看视频里UI部分,这里相对于来说比较轻松,一定要把视频里写的语句打一遍,相信这样你理解会更深刻。里面说的不清楚的地方上网可以网络,可以查书(如果你有书的话)。
Q:视频教程是用来做什么的?
A:光有实践没有知识是写不好程序的,第一阶段基本都是实践,第二部分则是用来查缺补漏。 之所以推荐网络课程是因为讲解的比较系统,各种入门知识都会涉及。因为iOS所涉及内容庞 大单看几本书还是涉及不全的。
Q:上不上培训班?
A:个人意见是不推荐去,自学足够了。现在学习iOS的环境比前几年好太多了,光凭借网上的资料是 完全可以的学得很好的,如果你连这点学习能力还没有我也不相信你将来能成为一个很优秀的工程师。而且你会发现在社会上一些互联网公司是拒绝接收培训班出来的人。
推荐入门书籍:
tips:以下所有书籍有英文版看英文版,有最新版看最新版
1、《Objective-C 程序设计》(难度指数:※※)
2、《iOS 7应用开发入门经典》(难度指数:※※)
3、《iOS开发指南-0基础到AppStore上架》(难度指数:※※※)
4、《iOS编程实战》(难度指数:※※※※)
这里面讲解的很清楚,后面甚至有简单的项目可以练手,这对于看视频教程看恶心的同学是个福音~你可以先做项目遇到不懂的再看视频。
这里我想多说一句,买iOS开发的辅导书千万别买过时太久的,我看以上有答案还推荐iOS4系列丛书呢...拜托现在都什么年代了,现在iOS8教程都要出来了,你iOS6的教程都过时好久了更别提iOS4了...对于新出的swift语言好多人难以选择不知道该学OC好还是Swift好。我个人建议现在学OC,一门新语言的诞生需要经过时间的考验与洗礼。等你学好了OC以后再看也不迟。
第三阶段及以后
到这个阶段你应该拥有了充分的自学能力,已经达到了入门水平。
这时候以下网址将成为你的家常便饭:
Github,StackOverFlow
如果你编程遇到困难,在StackOverFlow上面应该都能找到合适的解答。(前提是你英文不要太差)。Github上好多开源代码足够丰富你的眼界。如果你想成为一个iOS开发者的话这上面两个网站是你经常以及必须会用到的。
Github上怎么搜牛人们的项目:
<img src="https://pic2.mg.com/_b.jpg" data-rawwidth="425" data-rawheight="360" class="origin_image zh-lightbox-thumb" width="425" data-original="https://pic2.mg.com/_r.jpg">
想学一点UI的同学可以看:
1、iOS by Tutorials
2、design+code 网址:https://designcode.io/
想学一点动效/交互的同学可以看:
1、下载QuartzComposer及相关插件如Origami,教程: Quartz Composer学习
想学applewatch开发的同学可以看:
1、《watchKit》raywenderlich刚推出这个教程,英文版无译文。
进价书单:
1、《Effective Objective-C 2.0》(必看)
2、《Objective-C高级编程 iOS与OS X多线程和内存管理》
3、《iOS开发进阶》
4、《iOS Auto Layout 开发秘籍》
推荐博客及网站:
1、Github:https://github.com/
2、StackOverFlow:http://stackoverflow.com/
3、Code4App:http://code4app.com/
4、cocoachina:http://www.cocoachina.com/
5、objc中国:http://objcio.cn/
进阶博客(排名不分先后..)
1、王巍的博客(我们都叫它喵神,他很萌哒)
链接:http://onevcat.com/ (难度指数:※※※※※)
理由:他的swift的新书讲解的非常好,但不适合入门,进阶的话这是很适合的一本书。其他关于OC的内容可以翻看喵神的博客。
2、唐巧哥的技术博客
链接: iOS开发如何提高 (难度指数:※※※※※)
理由:据传说是iOS圈的刘德华。巧哥05年1月会出一本进阶的书,可以关注以下。
3、叶孤城的技术博客 :
链接:叶孤城带你读源码之RESideMenu (难度指数:※※※)
理由:叶孤城童鞋的风格就是讲解细腻,通俗易懂。
4、破船之家:
链接:beyondvincent.com 的页面 (难度指数:※※※)
理由:破船的博客内容很全面,一些开发笔记,技巧他都会教给你。
5、Xcode Dev
链接: Xcode Dev (难度指数:※※※※)
理由:也是一位大神的原创博客,内容很值得学习。
6、txx's 的博客(我们都叫它虾神,他也超萌哒)
链接: txx's blog
理由: 90后非常优秀的iOS开发者,看看他的大学时期的经历才发现我们过的是多么懈怠,大神之所以为大神也是有原因的。
7、Kevin的博客
链接: Kevin Blog
理由:周楷雯是一个非常厉害的90后iOS开发者,他前些年写的项目在Github上拥有2500+star (PNchat?忘了)非常恐怖。
8、念茜姐姐的blog
链接: 新博客:http://nianxi.net 旧博客:念茜的博客
理由: iOS圈里的女神级人物,她写的iOS安全类的文章非常值得一看。
9、孙源的blog
链接: sunnyxx的技术博客
理由:90后iOS开发者,技术同样非常强,目前似乎在网络知道任职。
等等...iOS圈内值实力很强又懂得分享知识的开发者绝不止以上几位,我随时想到随时再补充。
(二)swift语言开发iOS应用
这里推荐两个入门学习比较好的方法
1、http://appcoda.com的网站(难度指数:※)
非常浅显易懂的入门级swift教程:http://www.appcoda.com/tutorials/
这个网站可以看两方面:
(1)、随时更新的swift tips (有一定水平在看)
(2)、新手主要看以下这本书<img src="https://pic1.mg.com/_b.jpg" data-rawwidth="390" data-rawheight="434" class="content_image" width="390">
2、《Swift Tutorials》 依然是raywenderlich出品,目前只有英文版。(难度指数:※)
3、官方swift译文教程 《The Swift Programming Language》中文版 (难度指数:※※)
4、上文提到的王巍的博客(喵神)《Swifter - 100 个 Swift 必备 tips》(难度指数:※※※※)
喵神的这本书网上就有售卖,请支持正版,绝对是不可多得的进价书籍,此书并非传统意义上的教程,是以tip的方式呈献给大家的。
‘贰’ 有没有ios6模拟器下载,就是像安卓模拟器的那种,在电脑上运行的
安卓是开源,IOS没开源怎么会有
模拟器
!!!比如
小米
,化为,
魅族
,
康佳
等
安卓手机
都有基于安卓开源的
特性
才能修改定制的
手机
,但是本质上还是安卓,没人知道
苹果
的
源代码
是什么,怎么可能有模拟器,要是苹果
官方
出模拟器也是在MacOS上运行,
微软
是他的死对头好吧。想用苹果只有花钱去买苹果的产品!
‘叁’ 怎样在apple官网上下载ios6安装包
ITUNES上下载有点慢
你可以在威锋网下载
在威锋网左上角“首页”下方有个“IOS固件下载”
里面有所有苹果设备的各种版本固件
都是官方固件
祝你成功
‘肆’ 怎么安装ios6
首先,我们需要确认自己的设备是否在iOS6固件支持之列,根据苹果公布的信息,以下设备可以顺利升级到iOS6:
iPhone4S、iPhone4、iPhone3GS、iPad2、iPad3以及iPod Touch4,与iOS5固件相比,苹果取消了iPad一代和iPod touch3升级到新版本的支持。
同时,我们需要下载专门为iOS6固件升级准备的iTunes10.6.3新版本,以及iOS6测试版固件。
提醒:目前下载的iOS6测试版固件,格式为dmg,这是一种光盘的压缩包格式,你可以使用一些虚拟光驱或其他软件打开,将其中的ipsw格式的固件文件拷贝出来,即可使用。
拥有了以上条件,并不代表你可以参与iOS6的测试,由于苹果仅面向付费加入iOS开发者资格的开发者发布iOS6测试,所以你如果想要体验iOS6,还必须将你的设备,加入到一名开发者账号下的允许设备列表中。只要你认识一名开发者,相信他还是会愿意帮助把你的设备加入开发者账号列表的,因为每名开发者账号下,可以注册多达100部iOS设备参与测试(公司账号设备限制为500台)。
当然,如果你是高富帅,完全可以到苹果的开发者中心,注册一个付费的开发者账号,年费仅需99美元,是目前所有移动平台中收费最低的操作系统之一。
拥有以上条件以后,我们就可以很简单的按照正常升级iOS固件的步骤,来进行iOS6测试版的升级。
打开iTunes10.6.3
将iPhone4S等iOS设备连接到电脑上
右键点击iTunes左侧菜单栏里的iOS图标,选择备份,以免数据丢失。
提醒:根据苹果的说明,升级iOS6之后,将无法降级至iOS5。
点击Shift键(Mac下点击Option键),同时点击iTunes中的恢复按钮,在弹出的文件框中,选择下载的iOS6固件。
耐心等待iTunes恢复完成。
OK,进入iOS6的世界吧!
‘伍’ 谁能给我一个免费的苹果开发者账号,升级IOS6。谢谢
其实只是单纯想升级ios6,并不需要开发者帐号的。我已经使用该方法成功升级ios6。步骤一:下载最新版本的itunes10.6.3并安装。步骤二:下载ios6 iphone3gs对应固件.ipsw(请自行网络"ios6 全版本 固件")。步骤三:打开itunes并连接iphone;按住键盘shift键,同时点击itunes上的iphone升级按钮(务必这样操作!),这时会自动打开资源管理器,请找到对应固件.ipsw并确定升级。待系统自动完成,你就拥有ios6了!恭喜你!
‘陆’ 想体验ios6,请苹果开发者帮忙
其实可以不用添加的,把iOS6的固件下回来后,在iTunes里面按着shift+检查更新,选择iOS6的ipsw文件直接更新固件就行。
但是众所周知,越狱后的设备直接升级固件会白苹果的,因此必须先重刷当前固件,使设备回到未越狱状态,再更新固件至iOS6。也就是总共要刷两次,真要体验,注意备份,同时如果你要刷回5.1.1之前的版本,也请考虑清楚刷回去的难度。
按照这个方法,我在6月的时候把Touch4刷到了iOS6,Touch4上能体验的东西不多,当时的QQ还不能在iOS6上正常运行。
‘柒’ 哪里可以下苹果系统iOS6手机软件
先下固件,网址是https://m..com/from=1000539d/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%401320_2001%2Cta%40iphone_1_11.4_3_605/id=/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=9040590856151994762&order=1&fm=alop&is_=0&tj=www_normal_1_0_10_title&vit=osres&m=8&srd=1&cltj=cloud_title&asres=1&title=iOS6.0固件下载_6.0固件下载_同步苹果固件下载专区&dict=32&wd=&eqid=&w_qd=IlPT2AEptyoA_yiwI6DrnhfiO69F&tcplug=1&sec=32076&di=5f21321de3044b20&bdenc=1&tch=124.384.203.174.1.265&nsrc=IlPT2AEptyoA__XHZ38dCPQpq&clk_info=%7B%22srcid%22%3A1599%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1534594643293%2C%22xpath%22%3A%22div-a-h3-em3%22%7D&sfOpen=1然后接电脑,下iTunes到电脑,在下一个iTools,先备份,在越狱,完成后,打开cydia,里面基本都支持ios6
(注:固件请根据自身情况下载)
‘捌’ 如何正确有效地入门 Objective-C
1、我以为,斯坦福大学IOS公开课不适合入门的同学看,里面第一课讲解的就是MVC模式。对于一个刚入门想要学习的IOS的同学可能就完全懵了,心里想:“我特么第一课都听不懂我后面还学个P啊”。如果以前没接触过面向对象的语言学习的热情肯定大打折扣。
2、我还以为,苹果官方文档的内容虽然权威但example对初学者一点都不友好,而且个人认为中文译文翻译不是令初学者很容易理解。初学阶段,教程的易理解程度我认为是非常重要的一点。
我始终认为保持学习的热情是最重要的。本着这个理念,我推荐的学习方法难度非常低,希望你们能满意。
第一阶段: RayWenderlich网站中的 The iOS Apprentice教程 (难度指数:※)
以上有几个答案提到了这个网站,但看什么教程没有细说,我在这里简单说说。The iOS Apprentice的教程针对完全没有编程经验的人设计。这个教程是外国人写的并且有免费试读版,感兴趣的人要看看。里面说的东西都非常非常基本,里面一个共讲解了4个不同类型app,强烈建议一步一步按照上面所写的步骤敲一遍代码。其中你会遇到很多复杂的语句和长的可怕的函数,你不用感到恐慌,照着敲,知道它干嘛用完全OK了,随着你编程时间以及经验的增加,你都会懂得。
附链接:http://www.raywenderlich.com/store/ios-apprentice
注:这个教程是英文原版,并且收费,只免费提供一个app的教程。如果看完了这个免费的教程觉得还挺想继续学的请参考 @王寒 老师的翻译教程(只有前3个app教程,第4个教程刚出,国内应该还没有人翻译,如果想看只能付费)。PS:(现在开发iOS应用基本都是用Objective-C,至于刚出来的Swift现阶段暂时不推荐学习,如果想了解王寒老师也做了swift版本的The iOS Apprentice教程翻译,自己去找)
附上王寒老师教程下载地址:https://github.com/eseedo/kidscoding
第二阶段:培训班的网络课程及入门书籍
经过第一个阶段你应该已经大致掌握IOS开发流程,能编写一个非常简单的应用了。这时候相信你的热情应该会很高涨,但接下来的学习可能会很枯燥,做好准备。网络课程的话李明杰的课程讲的还不错,其他的也能看。
建议首先要恶补基础知识。经过第一个阶段你可能觉得你懂不少了,但是只是表面,尤其是没学过编程的应该好好学习一下视频前面的课程,主要看看语法。等你看恶心了看烦了就去看视频里UI部分,这里相对于来说比较轻松,一定要把视频里写的语句打一遍,相信这样你理解会更深刻。里面说的不清楚的地方上网可以网络,可以查书(如果你有书的话)。
Q:视频教程是用来做什么的?
A:光有实践没有知识是写不好程序的,第一阶段基本都是实践,第二部分则是用来查缺补漏。 之所以推荐网络课程是因为讲解的比较系统,各种入门知识都会涉及。因为iOS所涉及内容庞 大单看几本书还是涉及不全的。
Q:上不上培训班?
A:个人意见是不推荐去,自学足够了。现在学习iOS的环境比前几年好太多了,光凭借网上的资料是 完全可以的学得很好的,如果你连这点学习能力还没有我也不相信你将来能成为一个很优秀的工 程师。而且你会发现在社会上一些互联网公司是拒绝接收培训班出来的人。
推荐入门书籍:
tips:以下所有书籍有英文版看英文版,有最新版看最新版
1、《Objective-C 程序设计》(难度指数:※※)
2、《iOS 7应用开发入门经典》(难度指数:※※)
3、《iOS开发指南-0基础到AppStore上架》(难度指数:※※※)
4、《iOS编程实战》(难度指数:※※※※)
这里面讲解的很清楚,后面甚至有简单的项目可以练手,这对于看视频教程看恶心的同学是个福音~你可以先做项目遇到不懂的再看视频。
这里我想多说一句,买iOS开发的辅导书千万别买过时太久的,我看以上有答案还推荐iOS4系列丛书呢...拜托现在都什么年代了,现在iOS8教程都要出来了,你iOS6的教程都过时好久了更别提iOS4了...对于新出的swift语言好多人难以选择不知道该学OC好还是Swift好。我个人建议现在学OC,一门新语言的诞生需要经过时间的考验与洗礼。等你学好了OC以后再看也不迟。
第三阶段及以后
到这个阶段你应该拥有了充分的自学能力,已经达到了入门水平。
首推:Github,StackOverFlow
如果你编程遇到困难,在StackOverFlow上面应该都能找到合适的解答。(前提是你英文不要太差)。Github上好多开源代码足够丰富你的眼界。如果你想成为一个iOS开发者的话这上面两个网站是你经常以及必须会用到的。
想学一点UI的同学可以看:
1、iOS by Tutorials
2、design+code 网址:https://designcode.io/
想学applewatch开发的同学可以看:
1、《watchKit》raywenderlich刚推出这个教程,英文版无译文。
进价书单:
1、《Effective Objective-C 2.0》(必看)
2、《Objective-C高级编程 iOS与OS X多线程和内存管理》
3、《iOS开发进阶》
4、《iOS Auto Layout 开发秘籍》
转载
‘玖’ iOS6如何下载旧版软件
1、下载安装电脑端的同步助手,手机端可以安装同步推,但是手机端上的历史版本较少,可能会没有适合ios6一下系统固件能用的版本。
2、打开同步助手并且连接好苹果设备。找到需要安装旧版本的应用。点击历史版本。
3、点击低一整个版本的应用。下载安装。之后就完成了。
4、不过因为应用更新是很快的,怕到时候旧版本就会被后来的版本刷走了。
5、保险起见还是上传到网络云上安全。这样哪怕苹果设备坏了,或者版本更新。也不怕没得使用想要的软件了。
‘拾’ 想入门ios开发,亲们推荐一本觉得好的书籍呗
Objective-c 初学者指南 书的封面是一个水果。学完这本就是把语法基本都学会了接下去学界面一些控件的使用好像有本类似封面的学界面的书籍,我界面是自学的。。后面再学习网络编程和数据库存储就基本可以做项目了,想要学习更高级可以买本ios6编程实战(不知道现在ios7实战出了没,我是用6学习的,这个比较高级最好做过一些项目后看会更好)。如果你有c++基础学起来很快的。。可以不用买书,多逛论坛,多用网络查询不懂的,如果真想学好坚持是真重要的,ios开发工资现在依然还是很高的。