前言

由于大部分朋友对iOS开发还是有比较多的疑问,比如是不是一定要买iPhone和苹果笔记本才能做iOS开发?因此,这讲就为广大有意学习iOS开发的朋友们进行解惑。

一、什么是iOS开发

iOS是由苹果公司开发的手持设备操作系统,目前搭载这款操作系统的设备有:iPhone、iPad、iPod touch、iPad mini。也就是说,学习了iOS开发,就可以编写运行在iPhone上的应用程序。

二、学习iOS开发需要哪些准备

1.Objective-C

大家都知道,应用程序的开发都要用到编程语言,比如用Java开发android程序,而iOS开发的核心语言是Objective-C。因此,要想学习iOS开发,就必须先学习Objective-C这门语言。

2.Xcode

我们要掌握一门编程语言的话,都必须使用相应的开发工具进行学习和调试,比如用eclipse学习Java。至于Objective-C,我们可以使用苹果公司提供的开发工具---Xcode。

3.Mac OS X

* Xcode没有Windows版本的,只有Mac版本的,也就是只能跑在Mac OS X系统上。因此,你要先拥有Mac OS X系统才能使用Xcode进行Objective-C的学习和iOS开发。

* Mac OS X是苹果公司为Mac系列产品开发的专属操作系统,目前搭载这款操作系统的设备有:MacBook、iMac、Mac mini。

* 大概有3种途径可以获取Mac OS X系统:虚拟机、黑苹果、购买苹果设备。

1> 虚拟机

相信计算机人士都知道什么是虚拟机了。这里的虚拟机就是说在你的Windows系统上面模拟Mac OS X的环境,把Mac OS X系统运行起来,一般可以使用VMWare这个软件实现。

优点:零成本。只要你在Windows上装好VMWare,下载个Mac OS X的镜像文件,再通过VMWare安装Mac OS X系统即可。

缺点:运行速度慢、对机器性能要求高、有兼容性问题。因为你的机器要同时跑两个系统:是在运行Windows的基础上运行Mac OS X,因此,慢是必然的。

2> 黑苹果

黑苹果就是直接在你的PC机上,像安装XP或Win7一样安装一个Mac OS X系统,装好之后开机选择启动Mac OS X系统即可。这跟虚拟机是有本质区别的:虚拟机是同时跑两个系统,黑苹果只是跑一个系统。

优点:零成本,运行速度快。只要你有Mac OS X的镜像文件。当然,你要会装系统才行。

缺点:安装难度大,并不是所有的PC机都能顺利安装Mac OS X,因为苹果当初设计这款操作系统,是专门给Mac系列产品使用的。当然,也会有兼容性问题。不过,只是用作学习iOS开发的话,就已经足够了。

3> 购买苹果设备

苹果的设备默认就是支持Mac OS X的,不过价格都比较昂贵,动不动就可能上万了。在苹果设备里面,又可以分3种:

1) iMac:传说中的一体机,一般都是上万RMB的。

2) MacBook:苹果笔记本,它分MacBook Pro和Mac Book Air,做开发最好选择Pro,Air纯属装B人士使用(开玩笑)。Pro的价格至少7K。

3) Mac mini:月饼盒这么大的主机。它只是个主机,显示器自己买一个杂牌就行了。

优点:运行速度快,无兼容性问题。

缺点:成本高。

最后说一下个人建议:如果经济条件好的话,直接买苹果设备就行了,比如MacBook Pro;如果经济条件有限,装个黑苹果或者去淘宝买个黑苹果主机,也才2-3k。

4.调试设备

Xcode自带了iOS模拟器功能,因此我们可以将开发好的应用程序,运行到模拟器上进行测试,不一定要买iPhone\iPad进行调试。当然,真机和模拟器肯定是区别的,因此在发布应用程序之前肯定要进行真机测试。

5.开发者证书

如果你是想把开发好的iOS程序发布到App Store上去卖,或者把程序运行到真机(iPhone\iPad)上,那么就必须有iOS个人开发者证书。这个需要向苹果买,一年99$。如果纯粹是学习,不用买这个证书,一切开发都是免费的。

综上所述,学习iOS开发要准备的有:

1> 苹果电脑或者黑苹果主机

2> 安装开发工具Xcode

3> 真机(iPhone\iPad)。这项可选。

4> 开发者证书。这项可选。

三、iOS开发的学习难度如何

* 苹果提供的API非常强大,用简单几句代码就可以实现非常炫酷的效果,可以说苹果很为开发者着想。对比android,我个人觉得iOS会容易一些。

* 用我和周边朋友的经历来说:如果你有过其他语言的开发经验,而且能一心一意学习iOS、不走弯路,在半个月内上手iOS开发是完全没有问题的。

【Objective-C】02-Objective-C学习及iOS开发的准备的更多相关文章

  1. IOS开发初步

    由于工程实践项目的原因,得学习下IOS开发,今天才知道苹果09年才出的开发工具和开发包,也就是说,满打满算,现在顶多有5年IOS开发的工作经验.在我国2010年才火起来,因为那时候国内的iphone4 ...

  2. iOS开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  3. iOS开发如何提高

    阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在 3000字左右,许多iOS开发知识都至少需要这样的篇幅 ...

  4. iOS开发资源整理【01】

    一.网站 Code4App         开发者常用库分享网站 GitHub        git是一个优秀的分布式版本控制系统 stackoverflow    技术在线问答网站 CocoaChi ...

  5. iOS 开发调试技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  6. ios开发之通知事件

    每天学习一点点,总结一点点,成功从良好的习惯开始! 昨天学习了ios开发中的关于通知事件的一些东西,在这里简单总结下,仅供初学者学习,更多的是怕我自己忘了,咩哈哈~~~~ 通知(notificatio ...

  7. ios 开发之本地推送

    网络推送可能被人最为重视,但是本地推送有时候项目中也会运用到: 闲话少叙,代码如下: 1.添加根视图 self.window.rootViewController = [[UINavigationCo ...

  8. iOS - 开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  9. iOS开发调试技巧总结(持续更新中)

    作者:乞力马扎罗的雪  原文 对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不 ...

随机推荐

  1. Android内存优化9 内存检测工具3 MAT比Menmery Monitor更强大

    在Android性能优化第(一)篇---基本概念中讲了JAVA的四大引用,讲了一下GCRoot,第二篇Memory Monitor检测内存泄露仅仅说了Menmery Monitor的使用,这篇博客谈一 ...

  2. 《Go语言实战》笔记之协程同步 sync.WaitGroup

    原文地址(欢迎互换友链): http://www.niu12.com/article/8 sync 包提供同步 goroutine 的功能 <p>文档介绍</p><cod ...

  3. 【笔记】选择框 change 事件获取内容

    还记得之前做过一次js 的联动效果,在获取下拉框change事件后的 value 时,当时的我做得比较费劲. 现在看了高程的表单脚本那一章之后发现有一个更好的方法,那就是直接获取下拉框change 事 ...

  4. idea启动dubbo

    jetty 方式启动dubbo. 首先为dubbo 添加jetty mven 插件: http://www.eclipse.org/jetty/documentation/current/jetty- ...

  5. 转: git的图文使用教程(巨详细)

    转自: http://blog.jobbole.com/78960/ Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集 ...

  6. WinKawaks如何载入游戏

    1 把下载的游戏放入roms目录 2 运行Kawaks,点击载入游戏,勾选"仅存在的",点击扫描所有游戏.然后会出现所有名字正确的游戏.你下载的zip如果有中文或者名字不对,都是无 ...

  7. JMeter3.0配置

    解压apache-jmeter-3.0.zip文件至c盘,本文解压至C:\jmeter3目录下. 桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中 ...

  8. WebDriver API——第1部分

    The API definitions in this chapter shows the absolute location of classes. However the recommended ...

  9. visio 画图工具

    1.线条 [设计] ---  [页面设置]----打开 对话框 [布局与排列]-----[排列]   ----  [样式] ---   [直 2.word中插入viso 插入→对象→visio

  10. #pragma pack(push,1)与#pragma pack(1)的区别(转)

    这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n)             作用:C编译器将按照n个字节对 ...