• IOS-项目中常见文件介绍


    一、项目文件结构示意图

    二、文件介绍

    1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件
    2.frameworks文件夹主要用来放依赖的框架
    3.test文件夹是用来做单元测试的
    4.常用的文件夹(项目名称文件夹)
    (1)XXXinfo.plist文件(在该项目中为  01-常见文件-Info.plist)
    1)简单说明
    是配置文件,该文件对工程做一些运行期的配置,非常重要,不能删除。
    在旧版本xcode创建的工程中,这个配置文件的名字就叫做info.plist。
    注意:因此在载入自己准备的plist文件的时候,不要以info命名。
     
    2)配置文件的属性介绍:
     
    常见属性(红色部分是用文本编辑器打开时看到的key)
    Localiztion native development region(CFBundleDevelopmentRegion)-本地化相关
     
    Bundle display name(CFBundleDisplayName)-程序安装后显示的名称,限制在10-12个字符,如果超出,将被显示缩写名称
     
    Icon file(CFBundleIconFile)-app图标名称,一般为Icon.png
     
    Bundle version(CFBundleVersion)-应用程序的版本号,每次往App Store上发布一个新版本时,需要增加这个版本号
     
    Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名称
     
    Bundle identifier(CFBundleIdentifier)-项目的唯一标识,部署到真机时用到
     
    有两种方式修改plist配置文件:
    第一种方式即在如图所示的界面对配置信息进行修改。
    第二种方式直接点击工程,可以通过可视化界面进行设置。
      
    补充说明:
    a.应用程序支持的旋转方向。四个方向,垂直-不支持颠倒-左-右(最多只支持三个方向)
    b.plist文件打开之后是xml文件。和字典一样,是通过键值对的形式来保存数据。在xml文件中,添加了CF前缀
     
     (2)pch文件(在该项目中为  01-常见文件-Prefix.pch)
    1)简单说明
    保存的内容能够被项目中的其他所有原文件共享。
    通常情况下宏文件的处理,需要添加import导入头文件。以后可以把这个宏定义在这个文件中,不再需要导入头文件
     
    2)应用场景:
    1.用来定义一些全局的宏,
    2.用来导入一些全局都能用到的头文件。
    3.用来自定义NSlog,很消耗资源。(几乎是最消耗的),在发布的时候要把所有的打印都去掉。
    (补充:在开发中,分为两个阶段。
    一是开发调试阶段,需要打印log调试程序,如果程序处于调试阶段,系统会为我们定义一个名称叫做DEBUG的宏。
    二是发布阶段:不需要打印log,因为log很占用资源,并且用户看不懂log,如果程序处理发布阶段,会去除这个宏。
    难道在发布的时候要一个一个把NSlog都注释掉?然后在开发第二版,第三版的时候,又要把所有注释掉的NSlog都打开?
    对于这个问题,在.pch文件中自定义NSlog就可以很好的解决。)
     
     3)自定义NSlog
    在做开发的时候可以先打开pch文件,看看公司中有没有自定义NSlog。
    复制代码
     1 // __OBJC__这个宏,在所有的.m和.mm文件中默认就定义了这个宏
     2 #ifdef __OBJC__
     3 // 如果这个全局的头文件或者宏只需要在.m或者.mm文件中使用,
     4 // 请把该头文件或宏写到#ifdef __OBJC__ 中
     5     #import <UIKit/UIKit.h>
     6     #import <Foundation/Foundation.h>
     7 
     8 #ifdef DEBUG
     9 #define NJLog(...) NSLog(__VA_ARGS__)
    10 #else
    11 #define NJLog(...)
    12 #endif
    13 
    14 #endif
    复制代码

    说明:…指接收可变参数

    补充:
    _OBJC_这个宏,在所有的.m和.mm文件中,都默认包含了这个宏,就默认会编译下面那两句
    条件编译语句,如果有这个宏,就编译下面的语句。

        #import <UIKit/UIKit.h>

        #import <Foundation/Foundation.h>

    如果这个全局的头文件或者宏,只需要在.m或.mm文件中使用,请把该文件或宏写到#ifdef_ODBC_中用。
    注意点:建议写在条件编译里面(注意#endif)
     
    infoplist.strings的文件,跟info.plist文件的本地化相关
  • 相关阅读:
    Atlas
    MHA高可用
    Mycat 读写分离
    数据库 基于GTID主从复制
    DHCP服务
    python垃圾回收机制
    深拷贝、浅拷贝、引用(总结)
    python内存管理机制
    web安全-横向越权与纵向越权
    登录功能SQL注入
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5216629.html
Copyright © 2020-2023  润新知