声明:本文翻译自AppCoda网站的文章:What You Need to Begin iOS Programming?,作者是创建者Simon Ng如有异议,请联系博主。
 
更新:帖子已经重新被更新过,以便能更好的兼容Xcode 5和iOS 7。
 
    至今为止,已经超过6000位读者加入了这个iOS免费教程。首先,我要感谢这些加入我们社区的朋友。在我们正式开始iOS编程之前,让我们先通过这个开发工具来创建你的第一个app程序。
   
 1. 要有一台Mac机器
    是的,你需要一台Mac电脑。这是开发IOS编程最基本的要求。要想开发一个iPhone(或者iPad)软件,你首先得有一台基于Intel处理器的Mac机器,装载着Mac OS X 10.8版本系统(或者更高版)。也许你已经有一台PC机,那么最廉价的选择就是买一台Mac Mini电脑。入门级别的配置,零售价是599美元(如果你是通过亚马逊 购买,那么最低价格从490美元起)。买了之后,你可以连接原来PC机的显示器来使用。入门级的Mac Mini电脑配置是2.3GHz显存,英特尔酷睿I5处理器,4G内存。这已经足够iOS程序流畅运行了。当然,如果你有更多地预算,可以买更高配性能更好的iMac机。
 
2. 注册一个苹果开发者账户

    不要和下载购买iOS软件的账户混淆,那个我们会在后面部分再来讨论。任何一个人都可以免费注册成为苹果开发者用户。一旦注册成为开发者用户后,你将可以被允许免费下载Xcode开发软件,有权限去看iOS SDk的文档,以及其他一些学习资源,例如:开发学习视频等。
    你可以到苹果开发者网站去申请注册。整个注册的流程非常的简单。就好像注册你的苹果账号一样(如果你还没有),只要填入你的个人信息。
 
 
3. 安装Xcode
    在开始正式开发iPhone和iPad 应用之前,你需要下载并安装好唯一的开发工具——Xcode。 Xcode是苹果公司提供的一个集成开发环境(IDE)。Xcode提供了几乎所有你开发app应用当中会用到的东西。它已经加载好了最新版iOS的SDK(即:软件开发工具包的缩写),一个内置的源码编辑器,图形用户界面(即:UI界面)编辑器,调试工具还有其他很多功能。更重要的是,Xcode中还配备了一个iPhone(或者iPad)的模拟器。因此,你甚至可以在没有物理设备的前提下,测试你的应用程序。
 
 
    要想下载Xcode,首先你得打开Mac上的Mac App Store。如果你使用的是最新版本的Mac系统,你可以直接从桌面上的固定栏中找到App Store的图标。如果你不能找到它,那可能你要升级你的Mac系统
 
 
    在Mac App Store中,简单的搜索“Xcode”,并点击“Free”按钮来下载它。
 
 
    一旦你完成了安装进程,你将会发现在Launchpad上面会多一个Xcode文件夹。
 
 
    在我写这篇文章的时候,最新版本的Xcode是支持iOS 7.1的最新版本5.1.1。在即将开始的教程中,都会基于这个版本的基础上开展。即使你以前有安装过Xcode,我也建议你去将你的Xcode升级到最新版本,以便更好的开展接下来的学习。
 
4. 报名参加iOS开发者计划(这个是可选项)
    关于iOS应用开发,有一个很普遍的问题。那就是是否需要加入iOS开发者计划。简单回答就是:“可选”。就像之前提到过的,Xcode已经内置了一个iPhone和iPad的模拟器。你可以在你的Mac上来测试你开发的软件是否正常使用。
    如果没有加入iOS开发者计划,那么你只能在模拟器上跑你的程序。你将不能在自己的手机或者是平板上部署并测试app。更不用说,要提交你的应用到App Store上。换而言之,你不能卖你的应用!
    模拟器固然有用,但是它不能模拟所有的iPhone功能。举个例子,它不能模拟使用相机或者录像功能。因此,如果你开发的是一款相机应用程序,测试它的唯一途径就是要部署到iOS的设备上去。换句话说,你必须要先加入到iOS开发者计划中!
    因此,是不是现在就要马上加入到开发者计划中呢?开发者计划一年的费用是99美元。如果你是一个刚刚开始学习iOS开发的新人,你可以先在模拟器上测试你的应用。等到准备要发布你的应用到App Store上了,你再加入这个计划也来得及。
 
    以上就是我今天要讲的内容。花了一些时间来解释如何注册开发者账户,已经安装Xcode。一旦你已经准备好了,你可以点击下一步,来开始创建你的第一个app应用吧。
 
    如果你有问题,请在AppCoda交流社区给我留言。
 
 

[译] 二、开始iOS编程之前,你还需要做什么?的更多相关文章

  1. IOS编程User Interface基础

    IOS编程之User Interface基础 目录 概述 相关概念 常见问题 状态栏的隐藏 应用图标的设置 概述 IOS用户界面是APP呈现给用户最直观.最常用的方式,因此学会用户界面的编程是学习IO ...

  2. 《Data-Intensive Text Processing with mapReduce》读书笔记之二:mapreduce编程、框架及运行

    搜狐视频的屌丝男士第二季大结局了,惊现波多野老师,怀揣着无比鸡冻的心情啊,可惜随着剧情的推进发展,并没有出现期待中的屌丝奇遇,大鹏还是没敢冲破尺度的界线.想百度些种子吧,又不想让电脑留下污点证据,要知 ...

  3. [CSAPP笔记][第十二章并发编程]

    第十二章 并发编程 如果逻辑控制流在时间上是重叠,那么它们就是并发的(concurrent).这种常见的现象称为并发(concurrency). 硬件异常处理程序,进程和Unix信号处理程序都是大家熟 ...

  4. iOS编程之前

    iOS编程之前 更新:帖子已经重新被更新过,以便能更好的兼容Xcode 5和iOS 7.       至今为止,已经超过6000位读者加入了这个iOS免费教程.首先,我要感谢这些加入我们社区的朋友.在 ...

  5. Shell脚本系列教程二: 开始Shell编程

    Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...

  6. 二、并行编程 - Task任务

    任务,基于线程池.其使我们对并行编程变得更简单,且不用关心底层是怎么实现的.System.Threading.Tasks.Task类是Task Programming Library(TPL)中最核心 ...

  7. 提升自身的iOS编程水平 (转载)

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

  8. iOS 编程:NSURLSession

    定义:描述 Foundation 框架类在标准的网络传输协议下,用 URLs 连接因特网并与服务器交互的一整套体系. 支持的传输协议: File Transfer Protocol (ftp://) ...

  9. 使用UIKit制作卡牌游戏(二)ios游戏篇

    转自朋友Tommy 的翻译,自己只翻译了第三篇教程. 译者: Tommy | 原文作者: Matthijs Hollemans写于2012/07/06 原文地址: http://www.raywend ...

随机推荐

  1. 数据库知识整理<八>

    联接: 8.1理解简单的单联接: 基本上联接的结果是每个集合的笛卡尔积.例如:两个集合{a,b,c}和{a,b}的笛卡尔积是如下的成对集合:{(a,a),(a,b),(b,a),(b,b),(c,a) ...

  2. log-malloc2 0.2.4 发布

    log-malloc2 0.2.4 发布了,该版本修复了日志格式输出的 bug. og-malloc2 是一个 malloc 日志预加载库,用于检测内存泄漏问题.

  3. 修改开机启动等待时间(for Ubuntu12.10)

    Ubuntu的开机启动等待时间默认是10s,等待时间比较长,每次启动都得按一下回车,于是就想修改一下等待时间.我们可以找到Grub的配置文件(/boot/grub/grub.cfg),在其中进行个性化 ...

  4. 编译nginx的源码安装subs_filter模块

    使用nginx的反向代理功能搭建nuget镜像服务器时,需要针对官方nuget服务器的响应内容进行字符串替换,比如将www.nuget.org替换为镜像服务器的主机名,将https://替换为http ...

  5. eclipse导入Android项目后,项目的名称变为了主Activity的名称

    不要使用File -> Import -> Android -> Existing Android Code into Workspace,而是用 File -> Import ...

  6. oracle数据库中varchar2陷阱

    oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串型. 对应该类型,在oracle中有三种比较常用的类型:varchar2(byte).varchar2(char).nva ...

  7. 记一次在StackOverFlow上问问题的经历

    最近一直在做测试方面的事情,被测的一些功能需要连接到FTP服务器上.而我在做本地测试时为了方便,就使用java写了一个简单的ftp服务器,可以在命令行下直接启动运行. 当时在main函数里是这样写的. ...

  8. atitit.微信项目开发效率慢的一些总结

    atitit.微信项目开发效率慢的一些总结 #---理念问题..这个是最大的问题.. 要有专人提升开发效率才好.. #---没有一个好的开发方法体系.... ini deve 法. fell asd+ ...

  9. paip.python NameError name 'xxx' is not defined\

    paip.python NameError name 'xxx' is not defined\ 导入一个另一个文件里面的函数的时候儿,出孪这个err #这个仅仅导入孪file...要使用里面的fun ...

  10. HTML+CSS小实战案例

    HTML+CSS小实战案例 登录界面的美化,综合最近所学进行练习 网页设计先布局,搭建好大框架,然后进行填充,完成页面布局 <html> <head> <meta htt ...