一、创建一个新工程

1.第一步打开Xcode,找到Xcode程序图标并点击

2.如下界面,我们点击新建一个项目,即第二项

(1)、Get started with a playground

playground是苹果公司在2014年WWDC(苹果开发者大会)随Swift一起推出的,可以实现一边写代码,一般预览效果(即实时预览代码的效果)的工具。

相当于以前写代码要经过Build-->Run漫长的等待才能看到代码的效果来说,Playground给程序员带来的方便不言而喻。

Playground的不足之处是:无法直接将Playground文件直接用到工程中,暂时不支持Objective-C。

我们开发者可以利用Playground来快速测试一些代码和效果。

(2)、Creat a new Xcode project

创建一个新的Xcode项目,一般正式的项目都是从此选项开始的。

(3)、Check out an existing project

打开一个已经存在的项目

3、选择一个项目模板创建,如下,图中已经标出不同,并点击Next

左侧栏:

左侧栏中四个分类分别代表了手机/pad、手表、电视、及PC端的开发选项,就是一款Xcode足可以开发苹果所有产品线中的所有软件。

Application:即创建一个完整的项目。

Framework & Library:即写一个框架或者库

右侧详细:

各种预定义的模板,具体可以从图中显示看出各种模板的样式,一般而言项目会选择最简单的即第三个模板。

4、填写并选择一些所创建项目的信息,如下并点击Next

(1)Product Name

项目名称,比如本例中名称就是XcodeIntroduction(驼峰式命名)

(2)Organization Name

组织或公司的名称

(3)Organization Idetifer

组织或者名称的标识

(4)Bundle Identifer

程序包标识,新建项目时是根据你创建的项目名称自动生成的不可更改,可在内部修改。

(5)Language

开发语言选择,目前Xcode提供Object-C、Swift两个选择,这里选择OC。

(6)User Core Data

是否使用CoreData,iOS开发常用的一种数据库。

(7)Include Unit Tests

是否添加模块单元测试Target

(8)Include UI Tests

是否添加UI单元测试Target

5、选择路径创建项目,如下面,选择桌面,并点击Create。

(1)、creat Git repository on my mac

是否创建版本控制系统,创建的话可以选择是在本地还是在服务器。版本控制系统,或者说修改控制系统,实际上是一种检测源文件的改变并将其保存留作以后参考使用的机制(软件)。此外,它还能记录其他游泳信息,比如是哪个开发者修改的代码,何时修改的,修改了哪一部分,以及其他历史信息。版本控制系统可以比较不同版本代码的不同,有必要时能恢复整个项目到以前的版本,追踪有害代码从而减少产品的错误。

通过版本控制系统,开发者可以在一个项目的不同分支上工作,当项目的各个部分开发完备时,将他们放到一起形成最终版本,这个过程叫做合并。事实上,这种做法在团队和软件公司中相当常见:每个人负责项目的一部分,最终所有部分被整合到一起形成最终产品。

6、创建成功后的界面如下

二、Xcode界面详细介绍

五大区域介绍,如下图

1、第一部分:顶部区域

(1)程序运行相关:

从左至右依次:运行按钮、停止按钮、为工程选择运行平台。

(2)编辑器相关:

从左至右依次:标准编辑器、辅助编辑器、版本编辑器。

(3)面板控制相关:

从左至右依次:隐藏(显示)左侧面板、隐藏(显示)底部面板、隐藏(显示)右侧面板。

2、第二部分:左面板

该面板是Xcode工程导航面板,上方的八个按钮用于切换导航模式。从左至右:项目导航、符号导航、搜索导航、问题导航、测试导航、调试导航、断点导航、日志导航。

(1)项目导航

项目导航组成:

源文件:在XcodeIntroduction目录下的”.h“和”.m“后缀文件就是源文件;

属性文件:在XcodeIntroduction下的Supporting Files目录下是属性文件 图片等;

单元测试项目:XcodeIntroductionTests、XcodeIntroductionUITests是工程单元测试项目;

目标应用:products目录下的XcodeIntroductionTests.app是目标应用。

(2)符号导航

符号导航简介:用符号显示工程中的类、项目和属性;

表示方法:C表示类,M表示方法,P表示属性

快速定位:点击对应的方法或者属性,能快速定位到这个类中。

(3)搜索导航

在搜索框中输入要搜索的字符串,按回车就可以搜索出包含该字符串的类。

(4)问题导航

显示项目中存在的警告或者错误

(5)测试导航

点击testExample后面的执行按钮,就会运行单元测试;

(6)调试按钮

调试导航面板中显示了各县城的详细信息

(7)断点导航

列出所有的断点,方便管理断点

(8)日志导航

列出项目开发过程中构建、生成、运行过程,每次该过程都可以通过日志面板查看。

3、第三部分:调试面板

用于Xcode显示控制台调试输出信息。

(1)添加断点

如上图,在第20行打印代码上添加一个断点。

(2)开始调试(自动判断)

点击顶部面板中的调试按钮,如果代码中有断点,就会自动进入调试状态,执行到断点时会自动停止,详细调试信息显示在底部的调试输出面板;

(3)调试面板按钮介绍(上图红框中从左至右)

1.continue program execution:继续执行下面的代码;

2.step over:单步调试,点击一次该按钮,执行一行代码,如果有方法调用,不会进入方法中;

3.strip in : 步入调试,点击该按钮,会进入方法中

4.setp out : 步出调试,在方法中,点击该按钮,会退出方法,执行方法外的单步调试;

5.点击会出现此时项目的视图层次结构

6.点击会让你选择你的地理位置

4、第四部分:右面板

包括两个部分上的侧的检查器面板和下侧的库面板。

(1)检查器面板

检查器面板分类:

普通源文件:包含文件检查器和快速帮助器。

1)文件检查器

Identity and type:file name(文件名),file type(文件类型),full path(路径)

Text Setting:Text Encoding(文件编码使用字符集),Indent Using(缩进),Wrap lines(自动换行)

2)快速帮助器

界面设计相关检查器

用户选中”.storyboard“或者”.xib“后缀的文件时,会多出另外四个检查器;

3)身份检查器

管理界面组件类 实现类,恢复ID等标识性的属性;

4)属性检查器

管理界面组件 拉伸方式,背景色 等属性;

5)大小检查器

管理界面组件 宽高 xy轴坐标等属性

6)连接检查器

管理界面组件 与程序代码之间的关联性;

(2)库面板(从左至右)

项目的各种库文件,方便查找使用

1)文件模板库

管理文件模板,可以快速创建指定类型文件,可以直接拖入项目中;

2)代码片段库

管理各种代码片段,可以直接拖入源代码中

3)对象库

界面组件,可以直接拖入故事板中

4)媒体库

管理各种图片,音频等多媒体资源

5.第五部分:详细编码区

该区域是代码编写的主要区域。

三、Xcode菜单详解

四、Xcode快捷键介绍

Xcode中的快捷键确实会让人眼花缭乱,在此只介绍主界面上按钮点击的快捷键(有很强的记忆规律),代码相关、运行相关的代码可以看这里

1、第一个需要知道的是Xcode的各区域与修饰键的关系,下面是一个快速浏览

Command:用来导航,控制导航区域
Alt:控制右边的一些东西,比如Assistant Editor,utility editor
Control:编辑区域上的Jump bar的一些交互

如下图

下面是最常用的组合键:

Command 1~ 8: 跳转到导航区的不同位置
Command 0 :显示/隐藏导航区
Command Alt 1~ 6:在不同检测器之间跳转
Command Alt 0: 显示/关闭工具区.
Control Command Alt 1~4: 在不同库之间跳转
Control 1~ 6: 在Jump bar的不同标签页的跳转。

最后也是最简单的就是回车键,当它和Command组合使用时,可以是你在Xcode中不同编辑器来回切换。

Command + Enter: 显示标准单窗口编辑器
Command Alt Enter:你可以猜下它的作用,它的功能是打开Assistant editor
Command Alt Shift Enter: 打开版本控制编辑器

同样重要的是显示/隐藏调试区的快捷键是 Command + Shift + Y ,要记住这个你可以通过这句话来记忆 “Y is my code not working?” (译者注:Y谐音Why)。
如果你忘记了一些快捷键,你可以在Xcode的菜单栏Navigate一项中找到大部分快捷键。在即将完成这一部分的学习之时,你会惊奇的发现你仅仅只是用了键盘就让Xcode发生这各种变换。

[HMLY]6.iOS Xcode全面剖析的更多相关文章

  1. iOS Xcode全面剖析

    链接:http://www.jianshu.com/p/3c8527898e84 一.创建新一个工程二.Xcode界面详细介绍三.Xcode菜单详解四.Xcode快捷键介绍五.结语六.参考资料 前言 ...

  2. [转]phonegap 2.9 IOS Xcode 搭建环境

    phonegap 2.9 IOS Xcode 搭建环境   一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...

  3. 【Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析】

    原文:[Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析] [注意:]团队里总是有人反映卸载Xamarin,清理不完全.之前写过如何完全卸载清理剩余的文件.今天写了Windows下的批命令 ...

  4. iOS Xcode及模拟器SDK下载

    原文: Xcode及模拟器SDK下载 如果你嫌在 App Store 下载 Xcode 太慢,你也可以选择从网络上下载: Xcode下载(Beta版打的包是不能提交到App Store上的) 绝对官方 ...

  5. iOS/Xcode异常:no visible @interface for XXX declares the selector YYY

    在iOS/Xcode开发过程中,出现如下异常信息: no visible @interface for XXX declares the selector YYY 分析原因: There are lo ...

  6. iOS—Xcode 7真机测试

    Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk im ...

  7. iOS XCode启用/关闭Clang Warnings

    前言:warnings是编码中很重要的一个环节,编译器给出合理的warning能帮助开发者找到自己代码的问题,防止很多bug产生.  默认用XCode创建一个工程,会自动开启一些重要的warnings ...

  8. iOS - Xcode 配置

    1.Xcode 配置 1.1 OS X 1)main 文件注释修改路径: /Applications(应用程序) ▸ Xcode.app ▸ Contents ▸ Developer ▸ Librar ...

  9. iOS xcode设置

    Xcode build search paths c/c++ 头文件引用问题include <> 引用编译器的类库路径下的头文件include “” 引用工程目录的相对路径的头文件 inc ...

随机推荐

  1. Definition of:payload

    (1) Refers to the "actual data" in a packet or file minus all headers attached for transpo ...

  2. LigerUI+MVC的应用1

    [项目开发]LigerUI+MVC的应用(一) 近期因为稍微空闲有点时间,就晚上回家自己在随便写写代码,也就边写边记,中间主要采用了微软的MVC4.0框架.虽然目前公司也是使用的MVC的模式,但是因为 ...

  3. Event对象的事件句柄

    <html> <!-- onresize 事件会在窗口或框架被调整大小时发生 --> <!--onresize="alert('窗口的大小得到变化就会执行我') ...

  4. iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件)

    最近做了个有关阅读的应用,使用了自定义字体,学习了一下这方面的知识. 1.首先是最简单也普遍的做法,打包内置字符库文件: 把字体库文件添加到工程,如font1.ttf添加到工程,然后在工程plist添 ...

  5. 苹果icloud邮箱抓取

    1 icloud登录,与其他网站登录区别  1.1 支持pop抓取的邮箱:pop提供统一接口,抓取简单:  1.2 没有前端js加密的邮箱(139,126,163):只要代码正确模拟登录流程,参数正确 ...

  6. 微软RDLC报表打印

    关于微软RDLC报表打印时文字拉伸问题(Windows server 2003 sp2) 最近我们开发的打印服务频频出现打印文字拉伸问题,客户意见络绎不绝,最为明显的是使用黑体加粗后 “2.0份” 打 ...

  7. IOS学习之路十八(通过 NSURLConnection 发送 HTTP 各种请求)

    你想通过 Http 协议向服务器发送一个 Get 的包装请求,并在这个请求中添加了一些请 求参数. 向远程服务器发送一个 GET 请求,然后解析返回的数据.通常一个 GET 请求是添加了 一些参数的, ...

  8. Matlab下多径衰落信道的仿真

    衰落信道参数包括多径扩展和多普勒扩展.时不变的多径扩展相当于一个延时抽头滤波器,而多普勒扩展要注意多普勒功率谱密度,通常使用Jakes功率谱.高斯.均匀功率谱. 多径衰落信道由单径信道叠加而成,而单径 ...

  9. .Net用户使用期限的设置、限制通用小组件

    .Net用户使用期限的设置.限制通用小组件 最近比较项目组的同事都比较烦,不断的穿梭在不同的项目之间,一个人同时要兼顾多个项目的维护修改.甚至刚放下这个客户的电话,另一个客户的电话就进来了.究其原因, ...

  10. OpenCV 4 Python高级配置—安装setuptools,matplotlib,six,dateutil,pyparsing 完整过程

    Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法,可以用Matplotib 显示图像,放大图像,保存图像等等,对于OpenCV处理图像具有非常大的帮助.但是,安装Matplo ...