问题标签 [xcconfig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
27706 浏览

xcode - 如何在 xcconfig 变量中附加值?

我正在使用 Xcode 和 .xcconfig 文件。我试图在预处理器定义中附加一些值,但我根本无法让它工作。

我尝试了以下(以及许多变体),但到目前为止没有运气:

GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'

NEW_VALUE符号根本不会添加到预处理器定义中。

有没有人成功地将新值附加到 xcconfig 文件中的变量?

0 投票
4 回答
9686 浏览

xcode - Xcode:如何使用多个 xcconfig 文件设置调试环境?

我正在使用带有xcconfig文件的 Xcode 3.2。这些文件按目标组织。例如,我有一个debug.xcconfig文件和release.xcconfig一个。两者都使用通用设置,所以我添加了一个shared.xcconfig两者都包含的文件。

shared.xcconfig文件如下所示:

debug.xcconfig文件如下所示:

现在,我想在文件中添加一个DEBUG预处理器定义。debug.xcconfigthis question所示,以下方法应该有效:

这在 Xcode 3.2 中不起作用。Xcode 文档还明确提到不能修改变量,只能覆盖它们。

你们将如何解决这个问题?

0 投票
0 回答
1917 浏览

objective-c - Xcode xcconfig:基于目标配置依赖

在寻求解决 Objective-C命名空间 问题的过程中,我想尝试根据正在构建的目标为依赖项的 Objective-C 类添加前缀。

例如,假设我的共享库 ( ObjCStaticLib) 中有一个类 ( CWindow)。我有两个插件 (AB) 将使用它CWindow。为避免A'sCWindowB's冲突CWindow,我想CWindow在编译时为类名添加前缀,因此' AsCWindow变为's 变为。ACWindowBBCWindow

我正在寻找一种ObjCStaticLib在编译时与它应该使用什么前缀进行通信的方法来编译自己。我正在考虑使用xcconfigs来指定叶目标自定义并ObjCStaticLib使用的预处理器宏。但是,我不知道目标与这样的依赖项“通信”的方式。

我可以根据需要修改所有涉及的源/项目/等,以在依赖项中实现每个客户端的命名空间自定义。

有没有人对此有很好的解决方案?

0 投票
1 回答
1672 浏览

xcode - Xcode xcconfig 文件和构建规则

我有一个包含许多子项目的 Xcode 项目。主项目文件和所有子项目具有相同的 xcconfig 文件。一些子项目目前在它们上设置了构建规则,以将英特尔编译器用于 C++ 文件。我想知道是否有一种方法可以将此构建规则移动到 xcconfig 文件中,以便我可以通过仅更改一个 xcconfig 文件轻松打开或关闭 C++ 文件的英特尔编译器,而不必为每个文件修改构建规则子项目

0 投票
2 回答
3007 浏览

objective-c - 设置 xcconfig 文件的推荐方法

有没有最好的推荐方法来设置 xcconfig 文件?项目相关的领域去哪儿了,目标相关的去哪儿了?多目标怎么办?

0 投票
1 回答
1074 浏览

iphone - 如何在 iphone 通用(arm6/arm7)构建期间定位特定拱门

我试图为不同的拱定义不同的 ld 和 c 标志。

我用这个..

OTHER_CFLAGS[sdk=iphoneos*][arch=arm6] = blabla

并且这里设置的任何内容都不会进入构建..即使设置为 arm7 也没有什么不同。

在 arm6 和 arm7 设备上进行了测试。

顺便说一句,我在我的项目中使用 .xcconfigs。

0 投票
2 回答
19919 浏览

iphone - iphone:通过代码在 Target 的设置中获取用户定义的变量?

我的项目有多个目标。每个目标都有自己Class的设置文件。我想将该Class名称存储在目标设置(Info.plist或目标的建筑设置)中。这样我就可以根据这个设置定义我需要在每个目标中使用哪个类。

根据这个问题,我在每个目标的建筑设置中放置了“特定User Defined于目标的变量”。

但不知道如何在我的代码中恢复它?

0 投票
2 回答
35205 浏览

xcode - 如何在 Xcode 4 中使用 .xcconfig 文件?

我刚刚切换到 Xcode 4,但在使用 .xcconfig 文件进行构建设置时遇到了问题。我已经在 Xcode 3 中分配了文件的目标都设置好了 - 标题为 Config.file 的列显示在 Build Settings 的 Levels 视图中。但我不知道如何编辑此视图中的列或将 .xcconfig 文件放在何处以将其附加到新目标。我上网查了一下,没有找到答案。有人知道怎么做吗?

0 投票
0 回答
391 浏览

xcode - Xcode 4.1 使用不同的编译器构建依赖项目,忽略 GCC_VERSION

我已将我的项目从 gcc 移至 clang,Xcode (4.1) 使用 clang 构建它,但我的项目依赖于另一个 xcodeproject (three20),而 Xcode 使用 gcc 构建它。我希望它使用 clang 构建一切。

我正在使用 xcconfig 文件,并在我的主项目所依赖的 xcconfig 中将 GCC_VERSION 设置为 com.apple.compilers.llvm.clang.1_0 。

xcconfig 中没有定义three20 所依赖的 GCC_VERSION,我无法更改它,因为它是其他项目所依赖的共享项目(他们可能不想转移到 clang)。

有没有办法以某种方式全局更改默认编译器?

如果没有办法解决这个问题,并且 XCode 将使用 gcc 构建three20,那么将使用不同编译器构建的文件链接在一起是否安全?

0 投票
1 回答
879 浏览

ios - 为面向许多客户的项目交换 Xcode 内容的最佳方式是什么?

我有一个相对较大的 Xcode 项目,可以生成一个应用程序。但是,我有许多客户/客户需要对所述应用进行深度定制和品牌推广。这些配置包括不同的图形、一些不同的接口和实现,也许最重要的是 .xcconfig 文件。

我的 Xcode 项目有一个专门的组,它指向磁盘上特定客户端的自定义文件夹,因此通过打开 Xcode 项目并构建,您可以获得具有当前客户端自定义的单个应用程序的构建。要切换到另一个客户端,我更改了该组在磁盘上指向的位置。(我还更改并切换回项目信息窗格中的 xcconfig“基于”设置以重新加载完整的 xcconfig 继承;只需更改包含一个或多个 xcconfig 文件的组不会重新加载它!)这对 100 + 客户。每次需要为不同的客户端构建应用程序并确保 xcconfig 正确时切换此文件夹有点乏味,但它可以工作。

现在我正在通过命令行自动化构建,并遇到了麻烦。将上述 Xcode 组指向不同的自定义文件夹的快速而肮脏的解决方案是将文件复制到该ProjectName.xcodeproj/project.pbxproj文件ProjectName.xcodeproj/project-template.pbxproj并将占位符放在该文件中,该文件可以被 grep 并替换为所需自定义文件夹的名称和路径。然后,用修改后的 project-template.pbxproj 临时覆盖 project.pbxproj,并构建以获得正确的应用程序。

正如您可能已经观察到的那样,project.pbxproj 被复制和修改,因此当开发人员修改原始文件并忘记更新模板时,它会变得不同步。此外,无论如何,我不应该以这种方式处理 pbxproj 文件——那是 Xcode 的私有内容。

那么,有没有更好的方法来告诉 Xcode 一个充满资源、代码和配置文件的文件夹,可能在构建阶段使用脚本或环境变量,而不是在项目组级别?最复杂的部分似乎是 xcconfig 链,因为每个客户端都有自己的 xcconfig 文件,该文件继承自单个应用程序的调试、开发和分发 xcconfig 文件。

对不起这个问题的啰嗦,但它有点复杂!任何建议将不胜感激!