iOS项目添加PCH文件、常用预处理指令(移除程序中的identifier、发布模式关闭NSLog)

2021-03-08 11:01:48 浏览数 (1)

引言

原文:

https://blog.csdn.net/z929118967/article/details/113755392

pch头文件的内容能够被项目中的其他所有源文件共享和访问,通常我们可在pch文件定义一些全局的宏和导入一些基础类

例如:在pch文件中添加预处理指令,可以在发布应用的时候,一次性将NsLog语句移除;

I、Xcode 添加PCH文件步骤


  • 1.) 打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点击下一步;
  • 2.) 给你的PCH文件起名字TestDemo-Prefix.pch. 例如你的项目工程名为TestDemo然而你的PCH 文件的名字应该为 TestDemo-Prefix.pch,然后创建;
  • 3)pch示例:
代码语言:javascript复制
#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
#import "QCTConsts.h"
#import "UIWindow Extension.h"
#pragma clang poison NSLog //移除程序中的指定identifier(标识符)

#endif /* PrefixHeader_pch */

  • 4.) 找到 Project > Build Settings > 搜索 “GCC_PREFIX_HEADER“;
  • 5.) “Apple LLVM -Language″ 栏目中你将会看到 Prefix Header 关键字;
  • 6.) 输入: YourProjectName/YourProject-Prefix.pch

如 TestDemo/TestDemo-Prefix.pch

在这里插入图片描述

  • 7.),将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度。GCC_PRECOMPILE_PREFIX_HEADER
  • 8.) Clean 并且 build 你的项目.

这里写图片描述

II、 常用预处理指令

2.1 移除程序中的指定identifier(标识符)

#pragma clang poison identifier

应用场景:禁止使用ObjC 的运行时API

  • 例子:
代码语言:javascript复制
#pragma clang poison NSLog

在这里插入图片描述

2.2 DEBUG 宏的应用

1、原文:https://kunnan.blog.csdn.net/article/details/109624460 2、应用场景:区分调试模式和发布模式进行特殊处理 3、The DEBUG preprocessor macro setting in an Xcode project

4、发布模式关闭NSLog

0 人点赞