UI基础-项目文件介绍

项目文件介绍

  • 新建一个项目,最左侧中包含3个文件夹
    • 第1个文件夹包含项目相关的所有的代码文件及数据文件
    • supportingFiles里面包含配置文件及其他的数据文件
    • 最后的UI-TESTS文件夹主要是做单元测试使用的,我们目前不会用到,所以先不考虑。
  • info.plist文件,项目的配置信息文件
  • pch文件,项目中所有公用的类或者宏的头文件

info.plist文件

  • 在Xcode6以前创建项目的时候为有一个“项目名称-info.plist”名称的文件,在Xcode6之后就直接就是info.plist文件了。
  • 这个文件主要用来保存当前项目的基本配置信息
    • info.plist文件内容实际上是xml格式的,通过“右键”->“open as sourceCode”可以看到。
    • 保存的信息如应用版本号,应用要求的可运行的最低系统版本号。
    • 应用程序启动要加载storyboard文件名称
  • 常用的key:
    • bundle display name 应用名称的key,名称如果太长就不能完全显示了。
    • bundle identifier 应用的唯一标示,如果相同就会被覆盖。
    • bundle versions String short 最终应用发布时的版本号
    • bundle version 针对内部的一个版本号。
    • Supported interface ortations 标识设备所支持的方向,对应的选中"项目"->"General"->"Deployment Info"->"Device Orientation"。iPhone只支持3种方向,不支持上下颠倒的旋转,Portrait(竖屏),Landscape Left(横屏向左),Landscape Right(横屏向右)
注意:自己创建的plist文件中不要包含Info关键字。

pch文件

  • 全称“Prefix Header File(前缀头文件)”,预编译头文件。
  • 在Xcode 6以后苹果就不推荐使用了。

    • 遇到的问题:
      • 整个项目中很多地方都在使用某个类的头文件
      • 整个项目中很多地方都在使用同一个"宏"
      • 在项目中很多地方都用到了NSLog()方法,想一下子全部清除掉
    • 解决以上问题,可以通过使用PCH文件,它也是个头文件类似于*.h文件
      注意:PCH文件的特点,项目中所有其他代码文件无序显示导入该PCH文件,默认就可以访问(其他文件无序手动#import该PCH文件就能使用)
  • 主要作用:

    • 可以做一些公用的宏定义
    • 把公共的Model类的#import导入写到pch文件.
    • 自定义NSLog()。例如:#define HQLog(...) NSLog(VA_ARGS)
    • 创建pch文件
      • "newFile"->""->""
      • 将通用的头文件和相应的宏放进去。
    • 配置头文件,以使用头文件

      • 选择"项目"->"Build Setting" ->"All"->搜索 "Prefix Header",配置相应的pch文件。
      • "$(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch"(如果有问题,更换为下面的方式,可能会与中文有关)
      • "$(SRCROOT)/对应的文件夹名/PrefixHeader.pch"
    • 在应用程序测试的时候,需要log很多信息,但是如果我们发布程序的时候就要禁止打印信息。

      • 自定义自己的log方式。
      • 自定义log的完整形式
      #ifdef DEBUG
      
      #define HQLog(...) NSLog(__VA_ARGS__)
      
      #else
      
      #define HQLog(...)
      
      #endif

       

  • 在使用pch文件时的注意点:

    • 创建c语言文件进去,直接编译就报错,因为默认情况下所有文件都会包含pch文件中的OC内容,C语言文件内不能识别OC代码,所以就会报错。
    • 解决:在pch文件中判断一下,如果是OC文件菜引入响应的宏,如果是普通C语言文件则不引入,否则项目中添加C语言文件时会报错。

      #ifdef __OBJC__
      //oc相关的内容
      #endif

       




posted on 2016-05-07 00:32  Enroute  阅读(459)  评论(0编辑  收藏  举报

导航