首页 > 其他分享 >Xcode常用环境变量与常见使用场景

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

时间:2023-05-16 19:14:24浏览次数:36  
标签:__ 场景 Xcode pch Build ___ 环境变量 DIR BUILD

在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,pch,Build,___,环境变量,DIR,BUILD
From: https://www.cnblogs.com/zhou--fei/p/17406525.html

相关文章

  • ThottleStop 软件的应用场景
    ThrottleStop是一个小型应用程序,旨在监视并纠正许多笔记本电脑上正在使用的三种主要类型的CPU节流。ThrottleStop的左侧包含各种选项,可用于绕过CPU节流,右侧是一个监视面板,显示您CPU上每个线程的当前状态。有些笔记本电脑使用时钟调制和乘数降低来降低计算机的性能和功耗。这......
  • SAP Fiori Tools 里 proxy 中间件的使用场景介绍
    使用proxy中间件可以让开发人员通过配置的方式连接不同的后台系统,或者是切换不同的SAPUI5版本。下面是一个典型的ui5.yaml里的proxy配置文件的例子:-name:fiori-tools-proxyafterMiddleware:compressionconfiguration:backend:-path:/sapur......
  • RocketMQ 在小米的多场景灾备实践案例
    本文作者:邓志文、王帆01为什么要容灾?在小米内部,我们使用RocketMQ来为各种在线业务提供消息队列服务,比如商城订单、短信通知甚至用来收集IoT设备的上报数据,可以说RocketMQ的可用性就是这些在线服务的生命线。作为软件开发者,我们通常希望服务可以按照理想状态去运行:在没有B......
  • iOS Xcode使用xcconfig配置环境参数(Debug&Release)
    需求在App开发中经常有一些环境参数随着环境(开发环境、演练环境(测试环境)、生产环境)的不同而配置不同,例如接口的基本地址baseURL,加密使用的密钥等,以接口的基本地址为例:可能在开发环境中直接使用内网地址配置“http://192.168.1.1:8080/appname/api“,在生产环境(发布环境)使用域名配置......
  • Xcode中常见的环境变量
    为当前项目添加.pch文件新建.pch文件,pch文件的命名规则:“工程名字-Prefix.pch”,当然也可以不遵守这个规则随意命名指定pch文件所在的位置(既然我是新建的pch文件,Xcode为何不直接给我设置pch文件的路径,还要开发者做这件事,真是不人性化),在BuildSettings中搜索PrefixHeader,然后在该......
  • threadlocal使用场景
    1 在拦截器中将用户信息放到threadlocal中,后续业务方法直接从threadlocal中获取,这样做可以简化用户信息在方法间来回传递2 将类的成员变量放到threadlocal中,这个类在单例模式下也不会有线程安全问题.注意:使用完threadlocal后要调用remove()防止内存泄漏......
  • 问鼎CodeXGLUE榜单,华为云UniXcoder-VESO-v1算法取得突破
    摘要:华为云PaaS技术创新团队基于UniXcoder模型,在公开测试数据集(CodeXGLUE)上的代码搜索任务评测结果上取得突破,在CodeXGLUE榜单上排名中第一。本文分享自华为云社区《代码语义搜索算法哪家强?华为云UniXcoder-VESO-v1算法取得突破,问鼎CodeXGLUE榜单第一名》,作者:华为云软件分析Lab......
  • MATLAB代码 风光场景生成 场景削减 概率距离削减法 蒙特卡洛法 M
    MATLAB代码风光场景生成场景削减概率距离削减法蒙特卡洛法MATLAB:基于概率距离快速削减法的风光场景生成与削减方法参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分仿真平台:MATLAB平台代码具有一定的深度和创新性,注释清晰主要内容:风电、光伏以及......
  • MATLAB代码:基于改进K-means算法的含电动汽车负荷源荷场景聚类 关
    MATLAB代码:基于改进K-means算法的含电动汽车负荷源荷场景聚类关键词:有序聚类改进k-means聚类电动汽车负荷聚类风光场景聚类场景削减仿真平台:MATLAB主要内容:代码主要做的是基于改进k-means算法的场景生成,具体为含有电动汽车负荷的场景聚类问题,其中,光电和电负荷用有序聚类方法......
  • MATLAB:基于概率距离快速削减法的风光场景生成与削减
    MATLAB:基于概率距离快速削减法的风光场景生成与削减方法关键词:概率距离场景削减场景生成蒙特卡洛场景法风光不确定性参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分仿真平台:MATLAB平台代码具有一定的深度和创新性,注释清晰可懂[hot][hot][hot......