iOS-项目中的文件

在新建的iOS的新建项目中,有几个文件夹和文件是组成项目的重要部分,对此我们可以坐下来,喝着茶,慢慢梳理梳理!!
1. Tests文件夹 这个文件夹主要用于单元测试,这就是测试的事情了,我们暂且不研究它
2. frameworks文件夹 这是包含第三方库的文件夹
3. products目录 在Mac程序下,产生的可执行文件app会存放到该目录下,对于iOS来说产生的是ipa文件。这个目录对于iOS程序来说意义并不是太大

接下来重头戏就来了,我们需要对两个重要的文件夹来细细说来,Info.plist文件和pch文件(我简称它为总头文件)
1. Info.plist文件
该文件是项目的全局配置文件,简单来说就像人的大脑和心脏负责处理和统筹整个项目的正常运行,它是系统替我们自动生成的,所以在我们自己创建文件的时候最好不要包括Info关键字,以防Xcode傻逼的时候报错。
在Info.plist中有一些重要配置项,请听老僧细细道来:
* Bundle display name 表示软件安装到手机上以后,软件显示的名字(软件名),如果我们要修改它的名字,需要进行两步操作,首先点击Product->Clean,然后将软件从模拟器中卸载掉,最后重新运行即可
* Bundle identifier app的唯一标识(方便iOS系统确定是那个app)。
* Bundle version 每次发布软件的版本号。在每次向AppStore上传同一个软件时,新的版本号必须大于旧的版本号,否则无法上传
* Main storyboard file base name 对应的就是“项目->General->Deployment Info->Main Interface”中的设置
* Support interface orientations 标识设备所支持的方向,可以通过“项目->General->Deployment Info->Device Orientation”来设置设备的方向。

2.pch文件
pch文件的主要作用有三个地方:
* 再整个项目中很多地方都用到某个类的头文件(公共的Model类),可以将头文件导入pch文件中,就相当于头文件导入了每个文件中
* 在整个项目中都用到同一个“宏”
* 在项目调试阶段的打印函数NSLog(),在发布阶段就没有了用途而且还耗费性能,可以全部清除掉
举例说明如下:
* 如果在一个项目中很多地方都用到Person类,我们通常做法都是在每个使用到Person类的地方都包含#import”Person.h”,就不如在pch文件中导入#import”Person.h”来得方便
* 自定义NSLog()函数的问题
在代码调试阶段我们在pch文件中定义如下宏:
#define YBLog(…) NSLog(VA_ARGS)
在程序发布阶段(不需要NSLog())我们可以变成:
#define YBLog(…) //NSLog(VA_ARGS)即可
… 表示YBLog可以接受多个参数,VA_ARGS 表示把用户的 … 参数传递给NSLog. (VA 表示Value, ARGS表示arguments),这样就可以将所有的NSLog替换为YBLog了

注意:在Xcode6.1后,系统默认没有创建pch文件
* 需要自己新建一个pch文件 创建方式: 选择”Supporting Files” -> 右键 -> “New File” -> “Other” -> “PCH File” -> “PrefixHeader.pch”。
* 创建好还不行,必须设置一下让整个项目的其他文件知道有这个pch文件 设置:选中项目 -> Build Setting -> All -> 搜索”prefix head” -> 修改Prefix Header的内容为:” (SRCROOT)/ (PRODUCT_NAME)/PrefixHeader.pch” 如果不行设置为: “$(SRCROOT)/项目名/PrefixHeader.pch” 这样即可万事大吉了。

3.福利优惠 程序开发阶段可分:
<1>. 调试阶段, 写代码、调错误,需要使用NSLog()。同时在调试阶段系统会自定义一个叫做DEBUG的宏。
<2>. 发布阶段, 写好的代码生成ipa等压缩文件, 上传到AppStore, 安装到用户设备上, 不需要NSLog()。 同时系同会自动删除叫做DEBUG的宏。
< 3>. 综上所述, 我们可以如下自定义一个NSLog():
#ifdef DEBUG
#define YBLog(…) NSLog(VA_ARGS)
#else
#define YBLog(…)
#endif
< 4>. 所有与OC相关的宏定义都要写在:
#ifdef OBJC
#endif
里面, 因为写在这个if中的所有内容只有OC代码才可以使用, 当在项目中新建了一个.c文件是不可以使用的(不使用就不会报错), 否则如果写在了外面,新建一个.c的程序也能使用,就报错了。比如C语言中没有#import, 只有#include

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值