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

场景,变量,常见,使用 · 浏览次数 : 73

小编点评

**Xcode工程配置中与路径相关的设置** * **__FILE__**:当前文件所在目录 * **__DATE__**:编译日期 * **__FUNCTION__**:当前函数名称 * **__LINE__**:当前语句在源文件中的行数 * **__FILENAME__**:文件名,包括扩展名 * **__FILEBASENAMEASIDENTIFIER___**:文件名,不包括扩展名 * **__PROJECTNAME__**:项目名称 * **$(SRCROOT)**:工程所在位置 * **$(TARGETNAME)**:工程名称 * **$(TARGET_BUILD_DIR)**:目标构建生成的目录路径 * **$(PROJECT_TEMP_DIR)**:工程生成临时文件的路径 * **$(CONFIGURATION)**:配置类型

正文

在Xcode的工程配置中,与路径相关的都是使用环境变量,这样可以避免使用决定路径时项目移植性差的问题。

Xcode常用宏
__FILE__ 当前文件所在目录
__DATE__ 编译日期的字符串,格式为“mm dd yyyy”(例如:“Sep 16 2015”)
__FUNCTION__ 当前函数名称
__LINE__ 当前语句在源文件中的行数
___FILENAME___ 文件名,包括扩展名 如 abc.h, abc.m
___FILEBASENAMEASIDENTIFIER___ 文件名, 不包括扩展名, 如 abc
___PROJECTNAME___ 项目名称

Xcode环境变量说明
$(SRCROOT) 工程所在位置,也就是.xcodeproj所在目录
$(PROJECT_DIR) 与 $(SRCROOT) 一样
$(TARGETNAME) 工程名称
$(TARGET_BUILD_DIR) target构建生成路径
$(PROJECT_TEMP_DIR) 工程生成临时文件的路径
$(CONFIGURATION) 配置类型,一般为”Debug” 或 “Release”
$(inherited):继承,target默认不继承project, 需要在设置中显示添加才能继承。常用与对Search Paths项的设置

运行时环境变量
OBJC_PRINT_OPTIONS 输出OBJC已设置的选项
OBJC_PRINT_IMAGES 输出已load的image信息
OBJC_PRINT_LOAD_METHODS 打印 Class 及 Category 的 + (void)load 方法的调用信息
OBJC_PRINT_INITIALIZE_METHODS 打印 Class 的 + (void)initialize 的调用信息
OBJC_PRINT_RESOLVED_METHODS 打印通过 +resolveClassMethod: 或 +resolveInstanceMethod: 生成的类方法

Apple官方说明:
https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html

设置环境的业务场景
为项目添加.pch全局引入
1.创建“工程名字-Prefix.pch”
2.添加.pch的路径,在Build Settings中搜索Prefix Header, 然后在该项中输入“(SRCROOT)/项目名称/pch文件名”,例如“(SRCROOT)/iBlog/iBlog-Prefix.pch”
3.设置将Precompile Prefix Header 为YES, 预编译pch

对Search Paths项的设置
主要使用的配置项目
Header Search Paths
Library Search Paths
Framework Search Paths
如果项目里没有对Framework或.a的依赖,这里使用默认就可以了,如果添加了依赖,那么这里会自动添加这些依赖的路径。

本地构建产物目录设置
默认情况下Build Locations中的4个设置项的值:
以下用$(default) 代替 /Users/xxx/Library/Developer/Xcode/DerivedData/bsdiff-brsmjsvhtefeftfpbmcygaiewpum
$(SYMROOT) = $(default)/Build
$(SYMROOT)/intermediates ----中间构建文件存放路径,其中在Intermediates Build files path中只需要设为$(SYMROOT)即可,intermediates系统自动生成。
$(BUILD_DIR) = $(SYMROOT)/products
$(BUILD_ROOT) = $(BUILD_DIR)

$(CONFIGURATION) 当项目Build时选译Build configuration为Debug时值为Debug,当选为Release时,值为Release
$(EFFECTIVE_PLATFORM_NAME) 当模似器时为值为-iphonesimulator 当为真机时为-iphoneos
$(PROJECT_TEMP_DIR) = $(SYMROOT)/intermediates/xxxx.build 基中xxxx表过项目名称
$(CONFIGURATION_BUILD_DIR) = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) ---- (Per-Configuration Build Products Path)
$(CONFIGURATION_TEMP_DIR) = $(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) --(Per-Configuration Intermediate File Path)

 


参考文章:
https://www.jianshu.com/p/f2aff309171c
https://www.cnblogs.com/cy568searchx/p/5889002.html
 

与Xcode常用环境变量与常见使用场景相似的内容:

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

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

XCode汇编调试

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

Instruments中常用Template的使用

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

Xcode调试内存最新理解

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

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项目的配置信息,根据特定的顺

iOS使用Run Script提升开发效率

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

使用symbolicatecrash工具符号化Crash日志

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

WWDC2023 Session系列:探索XCode15新特性

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

iOS测试包的安装方法

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