问题标签 [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 投票
1 回答
1078 浏览

java - MarkLogic Java XCC 异常

我正在尝试使用 XCC 使用 JAVA 连接到 MarkLogic。

我得到以下异常。

该错误似乎是由于 XDBC 服务器配置。我无法弄清楚我在这里做错了什么。

很少有 XDBC 参数是,

0 投票
1 回答
2867 浏览

xcode - XCode 无法识别环境变量

我使用以下脚本在 OSX Yosemite 10.10.5 上运行 XCode (7.0.1 7A1001):

然后我打开一个包含两个项目的工作区:App1App2。在这两个项目中,我都$(HOME)/$(FOO)输入了Header Search Paths字段。

  • App1/Users/ohads/bar中,它按预期解析。
  • App2中,它被解析为/Users/ohads/- 注意HOME变量是如何解析的,但FOO变量不是。

这里发生了什么?为什么会出现差异?我怎样才能FOO在 App2 中工作 - 是否有一些我遗漏的特殊标志或声明?

顺便说一句,好像这还不够奇怪,即使我只使用 App1 也可以工作export(与launchctlGUI 应用程序应该使用的相反,因为export应该只影响现金应用程序)。

0 投票
1 回答
4708 浏览

xcode - 具有多个项目的工作区中的 Xcode 构建配置

使用 Xcode 7.2 (7C68)、OS X 10.11.2 (15C50)

tl;dr在同一个 Xcode 工作区中有多个项目,为什么我的构建配置的用户定义构建设置似乎不起作用?我在方案中正确设置了它们,但是在模拟器上运行时,值是正确的;在设备上运行时,值是错误的。

你好。我正在尝试利用 Xcode 构建配置(.xcconfig 文件)来根据环境自定义我们的应用程序的行为。这样我们就可以根据方案的构建配置自动在集成和生产 URL 之间切换。但是,我很难让它正常工作;我认为我的工作空间布局可能是罪魁祸首。这是布局/结构:

  • Xcode 工作区
    • iOS 应用项目(2 个目标:应用、测试)
    • Cocoa Touch Framework 项目(2 个目标:框架、测试)

现在,对于每个项目,我都有以下 .xcconfig 文件:

  • Debug.xcconfig
  • Testing.xcconfig
  • Release.xcconfig

此外,以下方案(一对一映射到每个项目的相应配置):

  • 调试
  • 测试
  • 释放

对于框架,这些文件包含我们希望根据调试或测试或发布自定义的信息(例如 URL、API 令牌/密钥等)。现在,应用程序和框架都有自己的这些文件的副本。这是因为 Xcode 在处理依赖项或多个项目时,会隐式尝试在这种情况下使用同名配置。我想部分问题是我不知道如何明确告诉 Xcode 将 X 配置用于设置配置的依赖项。

换句话说,我如何告诉应用程序使用X 配置和框架使用 Y 配置?

现在,当我在模拟器中运行应用程序时,我知道该方案正在使用正确的 info.plist 值,因为 URL 和日志设置看起来是正确的。但是,当我在device上存档或运行时,使用了错误的构建配置。我不知道为什么会这样。

屏幕截图和代码说明了它现在是如何工作的:

图1:信息列表

图 2:框架构建设置

图 3(某些方法的部分主体):

在框架内部,用户定义的构建设置包含需要针对调试、发布和任何内容进行更改的设置(图 1)。Info.plist 文件理想地提取给定方案的变量值(图 2)。然后在代码中,我从 info plist 中检索值(图 3)。

任何设备在被告知这样做时都会拒绝使用生产值,包括当我在方案的运行操作和存档操作上手动切换它时 - 存档使用会在设备上返回错误的构建设置。

对不起,这很长,感谢您的阅读。

0 投票
1 回答
5667 浏览

ios - Cocoapods 和自定义 xcconfig

我正在尝试在 iOS 项目中使用带有一些自定义配置的 Cocoapods。
我有 3 个(Dev、Stage、Prod),每个都有一些 custom GCC_PREPROCESSOR_DEFINITIONS。我看到周围有人向我们建议#include <path-to-pods.xcconfig>,但这似乎是老方法。
我已经看到 Cocoapods0.39会根据我的配置自动生成其配置文件并将它们自动添加到我的目标中(这很好)。这篇文章
也证实了这一点,他正在谈论一种创建 Podfile 的“新方法”。问题是这些文件不包含我的配置。 我试图使用and ,但没有成功。有谁知道处理 Cocoapods + 自定义 xcconfig 文件的正确方法是什么?
xcodeprojlink_with

0 投票
1 回答
1299 浏览

ios - Cocoapods 1.0:多个目标的相同 pod

我的 Xcode 项目使用自定义 .xcconfig 文件进行构建设置。我有一个 debug.xcconfig、beta.xcconfig 和 release.xcconfig。它们被添加到相同的 3 个构建配置的每个目标中:

在此处输入图像描述

我需要为所有目标集成我的所有 pod。但是,在进行 pod 安装时,Cocoapods 会为每个目标生成 3 个 .xcconfig 文件,并希望将这些文件添加到每个目标中,或者包含在我的自定义 .xcconfig 文件中。消息内容如下:

CocoaPods 没有设置您项目的基本配置,因为您的项目已经有一个自定义配置集。为了使 CocoaPods 集成能够正常工作,请将目标“Target1”的基本配置设置为“Pods/Target Support Files/Pods-Target1/Pods-Target1.debug.xcconfig”或包含“Pods/Target Support”构建配置中的文件/Pods-Target1/Pods-Target1.debug.xcconfig' ('MyProject/Configuration/Debug.xcconfig')。

我无法将基本配置设置为 Cocoapods 生成的 xcconfig 文件。我需要将我的自定义 xcconfig 文件设置为基础,以便将我的构建设置应用于目标。所以我必须沿着包含路线走。在 Cocoapods 0.x 中,我可以将这个包含在我的自定义 .xcconfig 文件中:

但是对于 Cocoapods 1.0,我应该做这样的事情(对于我的每个 xcconfigs):

情况不妙。我的项目有 12 个目标,这意味着我必须在我的 3 个自定义 .xcconfig 中的每一个中添加 12 个包含,总共 36 个包含。一定会有更好的办法。

我在我的 Podfile 中尝试了几种不同的方法,包括一个抽象目标,但结果总是一样的。任何人都知道如何解决这个问题?

这是我的 Podfile 代码:

0 投票
2 回答
1720 浏览

ios - Xcode:自动添加 xcconfig 文件

我想.xcconfig为我的 Xcode 项目使用相同的文件,以便我在所有项目中自动拥有相同的警告设置。我很想创建例如一个Cocoapod我包含的Podfile,然后将配置文件复制到我的 Xcode 项目中或从我的 Xcode 项目中引用它们。

有没有办法做到这一点?

0 投票
1 回答
479 浏览

ios - 从代码中获取 xcconfig 配置文件名

有没有办法在代码中获取正在使用的 .xcconfig 文件的名称?

如下图所示,我希望能够找出配置是“Lab2”

在此处输入图像描述

0 投票
0 回答
665 浏览

ios - 修改包含 iOS 应用程序的框架构建设置

我们开发了一个开源框架,可以使用各种预处理器标志来启用/禁用某些功能。至关重要的是,这些功能仅在(框架用户)实际需要时才编译,因为它们可能会影响 App Store 提交。在运行时配置功能不是一个选项。

该框架作为标准 iOS 框架出现,即它动态链接并嵌入到宿主应用程序中,因此有自己的构建设置,与宿主应用程序不同。

为了允许上述配置,框架项目使用xcconfig其根目录中的一个文件,该文件包含一个挂钩到框架目录之外的可选文件:

这允许用户在框架目录之外提供配置文件,例如,如果您使用 git 子模块,这很重要。

我们还提供了一个链接/嵌入框架的示例应用程序(通过 Xcode 子项目)并需要提供配置,但与框架位于同一目录/存储库中,因此无法使用挂钩。

任何有创意的想法如何解决这个问题?我们考虑过的几件事:

  • 将第二个钩子添加到框架目录/存储库中的路径,这不起作用,因为如果用户签出包含示例应用程序的框架,将始终使用示例应用程序的配置

  • 也许有一个环境变量可以用来检测宿主应用程序的源目录?类似的东西#include? "$(SRCROOT)/FrameWorkConfigurationFlags.xcconfig",但$(SRCROOT)不是框架的目录,而是主机应用程序的目录。似乎有特殊处理<DEVELOPER_DIR>,但我也不能在包含路径中使用一般环境变量。

  • 我们可以重构我们的示例应用程序以使用 CocoaPods 签出和嵌入框架,并忽略已经存在的本地副本,但我们不希望需要任何额外的技术来使用示例应用程序

  • 编写自定义构建脚本阶段...

0 投票
1 回答
1784 浏览

ios - `xcconfig` 文件中的条件用户定义变量

使用在 macOS Sierra 上运行的 Xcode 8 我试图在xcconfig文件中声明一个条件变量。

我的项目正在使用fastlane match,所以我主要想使用fastlane gym 来归档我的应用程序,但我也希望能够手动执行归档(测试目的)。

我想要实现的是这样的:

但显然这是错误的语法。我曾尝试寻找文档,但没有真正找到任何文档。

  1. 你能帮我xcconfig 语法吗?
  2. 您能帮我 检查存档是手动启动还是通过 fastlane gymxcodebuildCLI)启动的吗
0 投票
3 回答
2509 浏览

swift - 向 Swift Package Manager 提供配置文件

我正在尝试结合 swiftpm 和 .xcconfig 文件。

我用两行在Config.xcconfig我的文件旁边创建了文件:Package.swift

但是我仍然有 120 个链接错误,我的猜测是swift build看不到我的配置文件。

我应该怎么办?