Xcode的Search Paths配置

Paths · 浏览次数 : 163

小编点评

**Project层配置** ```xcode Project-Build Settings-Search Paths $(inherited) ``` **Target层配置** ```xcode Target-Build Settings-Search Paths   Header Search Paths $(inherited) User Header Search Paths $(inherited) Frameworks Search Paths $(inherited) Library Search Paths $(inherited) ```

正文

在Xcode中的文件搜索路径配置有两个地方,一个是Project层的配置,一个是Target的配置。
Project-Build Settings-Search Paths
Target-Build Settings-Search Paths
在Target中的配置选项中,可以通过配置$(inherited)让Target 继承自 Project中的配置。
Search Paths的选项如下:
0
 
其中重要的有如下4个
1.Header Search Paths
2.User Header Search Paths
3.Frameworks Search Paths
4.Library Search Paths
 
Header Search Paths
在Header Search Paths配置的路径,可以通过#import <>和#import "" 这种方式引入OC类,可以通过#include <>和#include""种方式引入c, c++文件。
#import <>表示从系统目录空间查找文件,#import ""表示从用户目录空间查找文件。
Header Search Paths中配置的路径就是把路径同时添加到系统目录空间和用户目录空间中,所以两种方式都可以搜索。
常用配置项有:
$(SRCROOT)
$(inherited)
引用方式有:
// import直接引入类名ClassA
#import <ClassA.h>
#import "ClassA.h"


// include 导入的c/c++文件是实际路径,比如Header Search Paths配置的是项目Root目录,
// 那么这个<src/ClassA.h>中的src表示文件放置在了Root目录下的src目录下。
#include "src/ClassA.h"
// #include <>引入的是编译器标准库的文件
#include <libClassA.h>
User Header Search Paths
在User Header Search Paths配置的路径,可以通过#import ""或者#include""两种方式引入。
#import ""表示从用户目录空间查找文件。
User Header Search Paths中配置的路径就是把路径添加到用户目录空间中,所以使用#import ""这种方式导入。
常用配置项有:
$(SRCROOT)
$(inherited)
引用方式如下:
// import直接引入类名ClassA
#import "ClassA.h"


// include 导include 导入的c/c++文件是实际路径,比如Header Search Paths配置的是项目Root目录,
// 那么这个"src/ClassA.h"中的src表示文件放置在了Root目录下的src目录下。
#include "src/ClassA.h"
Frameworks Search Paths
配置本地引入的Framework库的路径,如:
$(SRCROOT)/src/frameworks/xxx.framework
Library Search Paths
配置本地引入的.a静态库的路径,如:
$(SRCROOT)/src/frameworks/xxx.a
另外
项目根路径说明
$(SRCROOT) 和 $(PROJECT_DIR) 都指xxx.xcodeproj所在的父目录
是否递归查询选定目录下的所有子目录
non-recursive:默认路径设置,不遍历该目录。
recursive:遍历该目录

 

参考文章:
https://www.jianshu.com/p/d41e05e6d9fa
 
 
 
 
 
 

与Xcode的Search Paths配置相似的内容:

Xcode的Search Paths配置

在Xcode中的文件搜索路径配置有两个地方,一个是Project层的配置,一个是Target的配置。 Project-Build Settings-Search Paths Target-Build Settings-Search Paths 在Target中的配置选项中,可以通过配置$(inher

Xcode编译流程

Xcode的构建过程本质上是执行一系列构建任务。如:代码检测,编译代码,链接目标文件,拷贝资源(图片, plist, nib)文件,代码签名等。大部分任务是执行命令行工具,如(clang编译、 ld链接、 codesign签名, altool上传)。这些工具使用xcode项目的配置信息,根据特定的顺

Xcode常用环境变量与常见使用场景

在Xcode的工程配置中,与路径相关的都是使用环境变量,这样可以避免使用决定路径时项目移植性差的问题。 Xcode常用宏 __FILE__ 当前文件所在目录 __DATE__ 编译日期的字符串,格式为“mm dd yyyy”(例如:“Sep 16 2015”) __FUNCTION__ 当前函数名称

Instruments中常用Template的使用

Instruments是苹果提供的Xcode套件,可用于分析iOS,MacOS程序的性能数据,进行性能提升。Instruments提供了很多类型的Template,用于特定场景的分析。这里选了3种常用的Template进行使用方法的讲解,对于其他Template的用法则用到时再了解吧,没必要一次把所

XCode汇编调试

汇编调试的意义 了解常用的汇编指令和知识,可以知道经过编译器优化后,最终的代码调用,有可能和源码并不相同,如:设置faster,smallest 代码会更短,最终的汇编执行指令与源码不一样。 可以研究代码在二进制层面的执行流程是否和源码的流程一致,从二进制层面研究方法调用的传参,内部调用,方法返回值

使用symbolicatecrash工具符号化Crash日志

对于打包上线的APP,或者打包测试的APP,出现了崩溃并不能方便的把手机链接到电脑使用XCode自动符号化,此时手动符号化就是重要的选项。 1.查找符号化工具symbolicatecrash find /Applications/Xcode.app -name symbolicatecrash -t

iOS使用Run Script提升开发效率

通过在Xcode Run Script添加shell脚本,然后通过脚本来帮助我们在编译阶段完成一下资源的copy,文件替换,修改等繁琐的事件。使Xcode在编译过程中自动完成耗时繁琐的操作提升开发效率。 添加脚本的过程很简单,添加+添加 添加完脚本后可以根据需要调整脚本的执行顺序,如:对应Bundl

iOS测试包的安装方法

iOS测试包根据要安装的机器类型可以分为2种: .app模拟器测试包 .ipa真机测试包 .app模拟器测试包的安装方式 方式一:Xcode生成安装包 1.Xcode运行项目,生成app包 2.将APP包拖到模拟器中 方式二:IPA包下载得到安装包 1.将ipa包的后缀改成.zip, 然后解压 2.

Xcode调试内存最新理解

前提: Xcode 16.0 beta 设置 Scheme设置中勾选Malloc Scribble、Malloc Stack Logging。 这么做是为了在Memory Graph、Profile中追溯数据在哪句代码生成。 此设置会导致App硬盘占用异常增多,调试完毕之后需要把选项关闭。 Allo

WWDC2023 Session系列:探索XCode15新特性

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/44a0e0fd567c4421bc94be83e84f6dce~tplv-k3u1fbpfcp-zoom-1.image) ## 一、版本说明 XCode 15 beta 发布于 2023