Xcode技巧系列://www.greatytc.com/notebooks/7639304/latest
1.管理文件
创建全新的文件
方法一:File->New File
方法二:右键->New File
方法三:Command+N
创建后,如图:
|名称|作用|说明|
|::|::|:-:|
|Cocoa Touch Class|创建一个Cocoa Touch类文件|该文件创建时需要选择继承于哪一个父类,一般创建文件选择该方式|
|UI Test Case|创建一个UI测试文件|手动添加UI测试文件来进行测试|
|Unit Test Case Class|创建一个单元测试文件|手动添加单元测试文件|
|Playground|创建一个Playground文件|-|
|Swift File|创建一个Swift文件|-|
|Objective-C File|创建一个OC文件|创建OC文件时,可以选择文件的类型:Empty File空文件,Category类别,Protocol协议,Extension扩展|
|Header File|创建一个头文件|-|
|C File|创建一个C文件|-|
|C++ File|创建一个C++文件|-|
|Metal File|创建一个具有Metal技术的文件|-|
|Storyboard|创建一个故事版|-|
|View|创建一个View|-|
|Empty|创建一个空的文件|-|
|Launch Screen|创建一个启动界面|-|
通过文件模板库创建
直接拖动该模板库的文件到项目导航器相应位置即可快速创建
添加已有文件到项目
方法一:File->Add Files to
方法二:右键->Add Files to
方法三:Option+Command+A
完成上面的操作,会弹出一个窗口,如图:
点击Options可以看到一些选项:
Destination:将会使Xcode将所选文件复制到项目的相应目录下,如果不勾选,则只是添加引用,没有将文件复制到项目中。这一点得特别注意!!!!
Added folders:Xcode将文件夹添加到项目的时候采用什么方式。
- Create groups:创建与文件夹同名的分组,然后将该文件夹的所有内容保留到该分组下。图标是黄色的。
- Create folder references:创建文件夹引用,图标是蓝色的。
Add to targets:添加到目标对象,选择你要添加到的项目中即可。
直接拖动文件到项目
直接拖动文件到项目导航器相应位置中,会出现与Add Files to可选项类似的弹出框,设置方式同上。
根据个人经验,源代码最好不要采用拖动的方式添加到项目,因为不好管理,我采用的方式是先拖动到项目的文件夹中,然后使用Add Files to的方式添加。拖动的一般是资源文件,比如图片等。
重命名文件
1.在项目导航器中选择需要修改的文件,修改即可。
2.也可在工具区域中文件检查器的Identity and type项目修改Name
应该要特别注意一点,如果说修改了文件扩展名,那么需要在Identity and type中修改type这个选项。因为Xcode记录下的是原文件的编译方式,修改过后,需要手动更改
如下所示,我修改了First.m文件为.mm文件,那么需要把type修改为OC++类型。
分组管理
源码以分组的形式显示的,点击分组旁边的小三角,可以打开或关闭分组。如果同时按住Option键,可以同时打开或关闭全部分组。
分组不会影响到文件的物理存储结构,但是分组的删除移动命名等操作是不可恢复的,操作之前万分小心。
创建分组:
1.File->New Group
2.右键->New Group
3.Option+Command+N
删除分组:
1.Edit->Delete
2.选中,点击键盘delete键
3.右键->delete
删除分组后,分组下的文件或分组也会删除,删除前请先移动出来。
删除文件
删除文件时,会弹出一个对话框,你需要选择:
Remove Reference:删除文件的引用,不会删除物理存放的文件
Move to Trash:从磁盘中删除,会把物理位置的文件也删除
2.Target管理
如图所示:一个项目中可能包含很多个对象(Target),简单的说,一个对象就是一个实际可运行的应用。
添加对象
1.File->New->Target
2.下方的"+"添加
可添加的对象有很多,就不列举了。
PROJECT设置
在上图,我可以看到,有PROJECT设置和TARGET设置。
PROJECT项目设置:该设置会应用于TARGETS内的所有对象。可设置内容如图:
info:项目的信息
- Deployment Target:所有对象的最低OS版本
- Configurations:所有对象可用编译配置
- Localizations:指定应用程序本地化的语言
Build Settings:编译配置,该配置和对象的编译配置几乎相同
TARGET设置
1.通用选项General:
Identity:
- Display Name:项目名称,默认就好
- Bundle Identifier:包标识符,该ID是唯一的,上架的时候App Store用来识别APP用的,一般不要修改
- Version:外部版本号,用户能够看到
- Build:内部版本号,开发者自己看的,区分测试版本用
Signing:应用程序的签名,如果有开发者账号,并且申请了证书,需要在这进行配置
Deployment Info:
- Deployment Target:对象支持运行的版本
- Devices:支持的设备
- Main Interface:启动时加载的主界面,如果使用了storyboard,该值会是Main,如果纯代码编程,则需要设置为空,然后删掉storyboard。
- Device Orientation:应用支持的方向
- Status Bar Style:状态栏的样式
App Icons and Launch Images:APP的图标和启动加载页设置
Embedded Binaries:绑定的二进制文件,使用了第三方SDK时会需要
Linked Frameworks and Libraries:使用系统自带的SDK时选择,也可以添加第三方框架
2.功能选项Capabilities:
设置对象支持的功能。
3.资源Resource Tags
该功能是将资源放到appstore,在需要的时候进行下载。该功能没怎么使用,不甚了解。
4.信息Info
Custom iOS Target Properties:自定义目标属性,由于关键字太多,请参考苹果官方文档
Document Types:定义了程序能够识别的文档类型,不需要识别文档的应用无需设置
Exported UTLs:导出UTI,定义UTI让应用能够识别对应的文件类型
imported UTLs:和上面对应,用来导入UTI
URL Types:让应用程序之间理解和交互数据用的。最多是用在APP之间的跳转的时候。
5.编译设置Build Settings
过滤栏设置:
- Basic:显示最常用的设置
- Customized:自定义的设置
- All:显示全部设置
- Combined:当个对象的编译设置
- Levels:所有对象的编译设置
具体的设置由于太多,请参考苹果开发文档。要注意的是,这些设置会影响到编译、链接、生成等操作,请不要随意修改。
6.编译阶段Build Phases
编译阶段是当前对象编译过程中的一个阶段,系统默认有对象依赖、汇编资源以及复制包资源等。可以自行添加额外的阶段,设置还可以用Shell脚本以便在编译处理期提供更复杂、精确的控制
1.Target Dependencies:对象依赖阶段,让Xcode知道必须在当前选择的对象编译之前编译其他依赖的对象,比如扩展,插件,该阶段无法删除。
2.Compile Sources:编译源文件阶段,按照该项中的定义,用合适的编译器来编译该对象的所有源文件。可以通过修改该阶段的Compiler Flags来为每个单独文件设置其编译器标识,比如设置单个文件支持MRC。
3.Link Binary With Libraries:连接二进制文件和库,可以控制对象需要连接哪些二进制文件和库,只要使用了二进制文件或库,就必须要链接他们。系统库不会出现在这里,重复添加不会造成框架的重复引用。
4.Copy Bundle Resources:复制包资源阶段,复制对象中定义了的资源文件,复制到安装包下面。
可以通过“+”添加另外3种编译阶段。
1.Copy Files:标识文件复制的目标路径
2.Headers:指定头文件以及可见性。Public可见,private不可见,project编译对象时使用
3.Run Script:使脚本运行,可以在脚本编辑器区域编辑,也可以放一个脚本文件进来
7.编译规则Build Rules
用于定义文件类型以及用于编译他们的处理器之间的关联。
8.对象之间的联系
很多时候,某些文件可能需要在多个对象之间共享,因此,可以在这个文件与多个对象之间建立联系。
创建文件的时候,就提示我们选择对象。如果需要手动添加联系,只需要在项目导航器中选中该文件,然后在文件检查器中:
在Target Membership中选择需要联系的对象即可。
9.删除对象
在项目导航器中选中项目文件,然后找到对象列表,点击需要删除的对象,按delete或者下方的“-”即可删除。该对象关联的文件不会被删除。
3.资源管理
在项目导航栏上,可以找到Asset Catalog就是资源目录。可以存放的图片类型:
1.图片集
2.应用图标
3.加载界面
4.OS X图标
1.创建Asset Catalog
系统自动创建了资源文件夹,如图:
如果我们需要自己创建的话,创建方法和创建文件类似,选择Asset Catalog即可。
2.添加图标
在资源目录中,我们可以看到AppIcon这个图片集,这就是APP的图标,当然,如果没有该集,可以手动创建。
选择App Icons & Launch Images->选择要创建的图片集类型即可。
Xcode对于图标的尺寸是有严格限制的,分辨率不对应的图片放进去是会有警告的。
在属性检查器中,可以设置应用图标集的名称,所支持的版本,尺寸,iOS icon is pre-rendered选项勾选,iOS系统就不会再主界面上给予这个图标添加圆角和高光。
注意:如果说你不小心删除了系统自带的资源文件夹,然后自己创建了一个,此时,Xcode是无法识别应用图标集的,需要配置:选中图标集所属对象->定位到general选项卡->找到App Icons and Launch Images->App Icons Source->在下拉列表中选中自定义的图标集即可。
3.添加加载界面
加载界面的添加和图标很类似。
iOS8以后,Xcode添加了另外一种加载方式,默认是通过XIB文件加载,如果需要采用加载图片的方式加载,则需要把上图所示的Launch screen file中清空,然后在Launch images source中选择图片集即可。
4.管理图片集
将图片拖到资源目录即将图片添加到项目中创建。
如果图片不满足大小,可以使用切片功能(Editor->Show Slicing或者下方Show Slicing按钮,然后点击Start Slicing按钮开始),将图片分割。由于切片功能更也有很多内容就不详细说明了。
5.移除图片集
选中图片集,按delete或者右键->remove Selected items即可。
移除图片集中的图片,并不会移除该图片的格子,需要在属性检查器中的Devices属性来进行删除