[IOS] xcconfig 配置文件应用实战

如何使用Xcode Configuration 管理 iOS Apps 不同构建版本 如何使用Xcode Configuration 管理 iOS Apps 不同构建版本面临的问题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 面临的问题 我们在开发过程中,会遇到不同的环境,dev的,uat的,prod的等 阅读详情

首先说下 ,xcconfig 的作用 ,在xcode中多人协作时,很容易发生冲突,尤其是项目的配置文件,仅仅是在build settings 修改一点东西

就出现巨大的冲突,commit 时在project setting 中就会发现N多有时会好几百修改,详情如图:


这是 xcconfig 就发挥强大的作用了,就可以通过 xcconfig 文件来解耦工程设置

注意xconfig不修改默认的为project setting 的配置,然后对我们熟悉的配置(如图)就可以解耦乱搞了。。


文件的创建:

1. 在Xcode 中创建    2. copy写好的就可以了

Step1: command + N 新建config 文件

Step2:  自定义文件名



Step 3: 项目使用创建的config 文件,注意是在 Project 中info 中,不是 Target ,在Configurations 选择相应的配置文件即可


然后 配置文件内容怎么写呢?选中相关的build Setting 直接command + c  粘贴到相关配置文件即可



然后你就get 这个技能了,然后就会想这样是不是有点太简单了呢?

然后可以参考下这篇文章的分类写法(Debug、release、shared、application),很多东西讲的也很好

Xcode 配置文件 xcconfig 使用实践


另外也可以参考 Mantle 使用的配置文件 链接为:https://github.com/jspahrsummers/xcconfigs



注意 mantle 项目中包括的子项目clone 后需要如下命令

git submodule init

git submodule update


参考:

Using a .xcconfig file

http://b2cloud.com.au/tutorial/using-a-xcconfig-file/





SwiftUI Xcode教程之在 iOS 中使用Schemes 和 .xcconfig 文件来组织构建交付 很多时候,我们需要组织我们的移动交付。这意味着,我们用于在 App Store 中发布我们的应用程序的版本,或者我们每天用于在本地构建我们的应用程序,或在我们公司内部分发的版本是不一样的。在这里,我们将看到一种更好地组织我们的应用程序交付的方法,并开始在我们日常工作中有意义的内部配置中组织它。构建方案基本上是与目标相关的配置以及我们可能需要的该目标的任何配置。这包括环境变量、配置文件或任何可以使构建可定制的东西。例如,我们可以有以下三种方案:这种在构建配置方面的关注点分离可以帮助我们定制应用程序的体验。使用 阅读详情

相关推荐

浅析iOS的Xcconfig

本篇文章介绍IOS中Xcconfig的相关知识内容,有兴趣的朋友学习下吧。

iOS-xcconfig环境变量那些事(配置环境的配置)

前言 在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多,建议用环境变量来配置,也就是用 xcconfig 控制 Debug 或 Release编译时,同一个宏名,取到的值就会不同;或许现在的PCH文件里面是下面这样的...... #define ...

weixin_30443747的博客 240

KEIL-MDK代码美化神器:AStyle配置全攻略(附常用参数详解)

本文详细介绍了如何在KEIL-MDK中配置和使用AStyle代码格式化工具,包括基础参数设置、高级格式控制、团队协作方案以及KEIL深度集成技巧。通过合理的AStyle配置,开发者可以显著提升代码风格一致性,优化团队协作效率,特别适合嵌入式开发项目。

weixin_30505225的博客 146

Xcode使用xcconfig文件配置环境

与公司 QA 聊天,已不止一次被吐槽说移动端从开发环境转到生产环境时,还要靠修改代码来配置对应的环境参数。她认为,从 App 转测试之后,就不应该再修改代码,可以把所有的环境配置都整合到配置文件中,这样打不同环境下的安装包时,会自动选择对应的环境参数。这里说到的环境参数包括但不仅限于: webservice 地址,友盟 AppKey,极光推送 AppKey 和是否是生产环境标志等。

CaryaLiu的专栏 1万+

华为2288H-V5服务器做raid的详细步骤

操作步骤 服务器启动界面 按del键进入设置输入密码,2288H-v5默认密码是Admin@9000 移动光标选择device manager 驱动管理选择configurationutility 配置管理 选择main menu 主菜单 选择第一个 configuration management 配置管理 选择create virtual driver 创建虚拟驱动选择select RAID level 选择RAID等级选择level-5 选择select drivers 选择驱......

weixin_46041124的博客 1万+

[Unity_Plastic SCM小技巧] 使用 UnityYAMLMerge 工具合并场景和预制件文件

首先YAMLMerge工具其实并不局限于PlasticSCM,git也可以,它是内置在Editor内的一个更加智能的版本控制工具,只不过正常不会启用,他的目录在C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe(Unity Editor安装目录),MAC上:/Applications/Unity/Unity.app/Content...

unityofficial的博客 1143

简单的配置类

1.类的作用 项目中,可能会需要用到各种各样的配置,比如数据库的host,root,pwd等配置。这些配置的值与代码本身没有关系,为了项目的灵活性和可移植性,可以在项目中写一个配置类 2.配置文件config.ini的格式 ##代表注释后面的内容

窑下吴彦祖的博客 1007

Visual Tracker Benchamark傻瓜式教程(二)

问题  1 1  在调用main.m跑TRE和SRE时,因为会生成相应的.mat数据文件,如果跑完以后发现自己算法生成的.mat文件有问题,那么要把该文件删除,待找到错误原因后,重新生成相应的.mat文件。因为程序中写的是如果已经存在了.mat文件,例如已经存在car4_STC.mat文件,即使该文件中的数据有错误,但是重新跑时会默认该文件中的数据写完,不会重新写入数据 问题  2  b

mingbujingren的专栏 9928

iOS 读取.xcconfig文件内容

【代码】iOS 读取.xcconfig文件内容。

GY5338的博客 734

汽车电子零部件(14):TMS热管理系统

TMS(thermal management system)热管理系统,这是新能源汽车诞生后随之而产生的一种新汽车零部件,一旦热管理失控会触发自燃,这种现象也是对EV来说是件头疼的事。汽车的热管理系统(TMS)是一个关键部件,有助于调节汽车电池组、车厢和其他车辆系统的温度。TMS的主要目的是在驾驶过程中保持最佳的电池性能和乘客舒适度。TMS使用各种加热和冷却系统来调节电池组和车厢的温度,并通过优化其使用,降低能耗,提高车辆的整体效率。

码农17年的博客 3160

Python控制LitePoint IQxel-MW 无线网络测试仪

由于项目需要进行WIFI和BT(蓝牙)的射频测试,所以需要开发一款支持WIFI/BT射频测试的工具。开发射频测试工具的话那肯定离不开仪表的控制。我们项目用的就Litepoint的IQxel-MW无线网络测试仪。这篇文章主要就是介绍一下如何控制仪表以及实现的过程!LitePoint是美国硅谷的一家仪器厂商,主要做一些无线通讯测试仪表,包括WIFI,BT(Bluetooth),LTE等等。

xgh1951的博客 1万+

2、iOS xcconfig文件配置

对于xcconfig文件、我们其实并不陌生、因为在使用cocoapods的时候、就已经在使用这个文件了、只是很多人不知道其中变量的含义。 其中的变量以key-value的形式存放、对应到Build Settings中的各关键字。 BUILD_SETTING_NAME = value 变量的定义:按照命名规则,仅由大写字母、数字和下划线( _ )组成,原则上大写,也可以不大写。字符串可以是 “”,也可以是’’ 变量有三种特殊情况: 在xcconfig中定义的变量与Build Settings.

Holothurian 2509

GEE 案例:基于陆地卫星8号(大气层顶反射率数据)LANDSAT/LC08/C02/T1_TOA的生态遥感指数RSEI计算、可视化和下载

摘要:基于GEE的遥感生态指数(RSEI)计算方法 本文介绍了利用Google Earth Engine(GEE)平台计算遥感生态指数(RSEI)的全流程方法。主要内容包括:研究区域定义、Landsat8数据获取与去云预处理、关键生态指标计算(地表温度LST、植被指数NDVI、湿度指数WET和建筑指数NDBSI)、主成分分析(PCA)降维处理,以及结果可视化与数据导出。通过结合多源遥感指标并采用归一化处理,构建了综合反映区域生态环境质量的RSEI指数。该方法为生态环境监测提供了高效的技术方案,所有计算过程均

此星光明博客 429

探索Xcconfig:iOS开发中的高效配置管理利器

探索Xcconfig:iOS开发中的高效配置管理利器 项目简介 是由James Pahur Summers创建的一个开源项目,它为iOS开发者提供了一种更加有序、可维护的方式来管理和共享项目的构建设置。在传统的Xcode项目中,构建设置通常分散在各个target和scheme之间,导致管理复杂且容易出错。而Xcconfigs项目通过集中化的配置文件(.xcconfig),使得团队能够更好地组织和重...

gitblog_00077的博客 580

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6860

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

iOS使用 xcconfig配置文件的若干坑

有一些文章介绍.xconfig文件的使用,如这篇,但是经过亲自实践,发现还是有一些坑,这里记录下。 构建新的configuration 这一步在“project-info-configuration”位置进行,点击“+”构建“-”消除,没什么问题,这个很简单也不会出错。 只是原来使用xcodebuild进行自动打包时的-configuration指的是就是这里啊。每个项目默认就有的Debug和R...

weixin_34319817的博客 572

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Notesnook iOS 多环境构建配置切换指南:基于 xcconfig 的 Bundle ID、版本号与签名配置管理

本文聚焦 Notesnook 移动端仓库中 `apps/mobile/ios/build-configs` 目录的 iOS 构建配置体系,讲解如何通过一套 xcconfig 文件按环境(production / staging)切换 Bundle Identifier、应用显示名、版本号与签名 Profile,并配合 `xcodebuild` 完成不同环境的打包。读完本文,你将掌握 Notesno

gitblog_00157的博客 275

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

闲来无事写了一份 xcconfig 编写指南

????????关注后回复“进群”,拉你进程序员交流群????????前言最近项目都搞完了,比较轻松,闲来无事,分享一份xcconfig编写指南吧。希望给需要的人,提供一点小小的帮助,不要忘记点赞就好。xcconfig指南首先我们来说说它的语法吧,其实xcconfig文件的语法是非常简单的,每个配置文件都由一系列键值分配组成,这些键值分配具有以下语法:1.BUILD_SETTING_NAME=value注释xcc...

iOS_开发 228

SocketRocket终极配置指南:xcconfig文件与编译选项深度优化

SocketRocket是一款专为iOS、macOS和tvOS平台设计的**WebSocket客户端库**,遵循RFC 6455标准,提供高性能、异步非阻塞的实时通信能力。本文为您带来SocketRocket配置的完整指南,帮助您快速掌握xcconfig文件的配置技巧和编译选项优化方法。🚀 ## 🔧 SocketRocket配置架构解析 SocketRocket采用模块化的配置架构,在[C

gitblog_01153的博客 586

iOS多环境配置管理:xcconfig从入门到团队协作实践

在iOS工程构建中,多环境配置管理是持续集成与团队协作的基础环节。xcconfig作为Xcode原生的键值对配置文件,通过分层继承与覆盖机制,将构建配置从图形界面抽离为可版本控制的文本文件,实现环境隔离与配置复用。其技术价值在于消除手动修改Build Settings带来的冲突与遗漏,提升构建流程的可追溯性与自动化水平。典型应用场景包括Debug/Release/Staging多环境切换、多Target工程管理以及CI/CD流水线中的动态配置注入。理解xcconfig的加载顺序与变量引用规则,是解决配置不生

weixin_30402231的博客 259

iOS自有云应用开发教程:基于ownCloud的iOS App

iOS自有云应用开发教程:基于ownCloud的iOS App 1. 项目目录结构及介绍 ownCloud的iOS应用程序源代码托管在GitHub上,链接为:https://github.com/owncloud/ios-app.git。此项目遵循典型的iOS项目结构,下面是关键目录的简要说明: 根目录关键组件: Pods: 如果使用CocoaPods管理第三方依赖,这个目录包含了所有安装的依赖...

gitblog_00354的博客 597

Halfrost-Field项目解析:iOS应用多环境配置实战指南

还在为iOS应用多环境配置而头疼吗?每次打包都要手动修改配置参数,既低效又容易出错?本文将基于Halfrost-Field项目的实战经验,为你提供一套完整的iOS多环境配置解决方案,让你轻松应对Test、UAT、Release等多种环境需求。 读完本文你将获得: - ✅ 三种主流多环境配置方案的深度解析 - ✅ Xcode配置文件的优先级机制与最佳实践 - ✅ 实战Demo项目的完整配置示例 -...

gitblog_00359的博客 354

Flutter build ios产物分析

前言 如果你是Android转iOS,或者是想开发Flutter插件,可以看看我的文章:iOS 入门开发踩坑实录。我就是一个Android开发,由于开发插件需要,学了部分的iOS开发的东西。 Flutter提供的官方接入方案:Add Flutter to existing apps,值得一提的是官方在Flutter 1.12上提供了Android Studio直接接入Flutter的方案。 ...

Notzuonotdied的博客 3833

关于 .xcconfig文件中 变量的定义的坑:

场景1. test_tmp2 = @"youareoks" 在 plist 中 通过 $(test_tmp2) 访问 ,打印的结果是: @“youareoks" 场景2. test_tmp2 = youareoks GCC_PREPROCESSOR_DEFINITIONS = $(inherited) test_tmp2='$(test_tmp2)’ 在 plist 中

bravegogo的专栏 972

开发ios应用程序_如何在iOS应用程序中创建构建变体

开发ios应用程序 介绍 (Introduction) During the development lifecycle of mobile applications, usually we want to build the application based on environment configuration, for example, if the app needs to conne...

weixin_26638123的博客 244

ElementX iOS 项目教程

ElementX iOS 是一个基于 Matrix 协议的 iOS 客户端,使用 SwiftUI 和 Matrix Rust SDK 进行开发。以下是项目的目录结构及主要文件的介绍: ``` element-x-ios/ ├── CHANGES.md ├── CONTRIBUTING.md ├── Dangerfile.swift ├── Gemfile ├── Gemfile.lock ├──

gitblog_00043的博客 1015
上一篇: 判断 Canmand 命令是否有效
下一篇: [IOS] IOS设备与BLE设备通信字节序问题
skyming
博客等级 码龄15年 249粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值