• 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



  • 相关阅读:
    java使用AES加密解密 AES-128-ECB加密
    快速集成iOS基于RTMP的视频推流
    iOS视频直播初窥:高仿<喵播APP>
    直播相关的开源库/项目
    iOS 常见 Crash 及解决方案
    命名规范
    实现UITableView循环利用
    最快让你上手ReactiveCocoa之进阶篇
    最快让你上手ReactiveCocoa之基础篇
    带你走进脚本世界,ijkplayer之【init-ios.sh】脚本分析
  • 原文地址:https://www.cnblogs.com/luoze/p/5467565.html
Copyright © 2020-2023  润新知