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

ios - 修改 Cocoapods 生成的 .xcconfig 文件的脚本

如何修改OTHER_LDFLAGSpod install 步骤生成的 .xcconfig 中的字段?

最终目标:仅弱链接某些 Pod,因此它们可以dlopen在运行时加载。


我注意到在Pod-Target.debug.xcconfigpod install 的生成中,它有这个:OTHER_LDFLAGS = $(inherited) -framework "AFNetworking",如果我把它改成-weak_framework,它会做我想做的事。

这个Cocoapods 问题讨论了通过 post_install 挂钩执行此操作,但config.build_settings['OTHER_LDFLAGS']不写入该文件。


PS:我知道dlopen不推荐使用,但是我正在使用冲突的硬件库,我不能同时加载两个。

0 投票
1 回答
613 浏览

xcodebuild - xcodebuild:xcconfig 条件变量分配在 Xcode 10 的新构建系统中被破坏

在 Xcode 10 中使用新的构建系统时,如果您的 xcconfig 包含任何条件变量赋值,xcodebuild 将生成错误提示“非法指令 4”。例如:

FOO[sdk=macosx*] = 嗡嗡声

删除“[sdk=macosx*]”后,xcodebuild 就像魅力一样。

我浏览了 Xcode 10 构建系统补丁说明,Apple 并没有说要放弃对条件变量赋值的支持。所以我猜这应该是xcodebuild中的一个错误?

顺便说一句,在 Xcode 9.4 的新构建系统中也出现了这个问题(而由于新构建系统在 Xcode 9.4 中不是默认的,您必须手动设置项目设置。)

0 投票
1 回答
837 浏览

swift - 如何使用 xcconfig 文件将环境配置添加到具有多个项目的工作区

我创建了示例项目来演示问题 https://github.com/pikciu/XCodeWorksapce/tree/noPods

  • 框架路径无效
  • 框架构建在与主项目不同的配置中。

有 4 种构建配置和 2 种方案。每个构建配置都使用不同的 xcconfig 文件。 配置 Lib.framework 链接到主项目。

即使主项目是在 Debug 中构建的,XCode 也会在 Release 配置中构建框架。 构建失败

我找到了这些解决方案: Xcode Build Configurations in Workspace With Multiple ProjectsHow to compile a project with app and library in the same workspace with different configuration names?

但它不起作用。也许是 XCode 10 的问题?

0 投票
1 回答
447 浏览

ios - 在 xcconfig 文件中定义 url 的问题

我正在尝试使用xcconfig文件为我的应用程序的开发、质量保证和生产版本创建不同的配置。对于这 3 个环境,我有不同的 api 端点,所以我在我的配置文件中定义了该值,例如:

但是当我回读时,我只得到https:剩余部分将被视为注释,不会被视为字符串的一部分。

方法一:

结果1:


方法二:

结果 2:

它给了我我定义的 ( api-qa.mydomain.com) 并且我https://在我的代码中的这个结果前面加上了前缀。


有什么干净的方法可以在配置文件中定义我的 API url?我不想在我的代码中添加 http 或 https 前缀(我的开发在 http 和 qa 上运行,生产在 https 上运行,我不想每次更改环境时都在代码中更改它)。任何帮助将非常感激

我提到的其他资源:https ://help.apple.com/xcode/#/dev745c5c974

0 投票
0 回答
55 浏览

ios - Xcode 中如何有两种类型的环境

我有一个具有“双重”环境类型的项目:

  • 一个用于国家/地区(eeuu、eng、fra)
  • 一种用于环境(dev、pre、pro)

在 Xcode 项目中实现这一点的最佳方法是什么?在只有环境的项目中,我们有一个 xcconfig 文件,但是在这种情况下,我不希望有 9 个环境文件。每个组合都有一个捆绑名称、图标、网址……特定的。如果可能的话,我不喜欢复制目标。

在 Android 中,它将通过维度和风格来完成。我已经阅读了多个教程,但没有一个能解释这一点。

0 投票
0 回答
1462 浏览

swift - XCConfig 文件可以为 Swift 代码定义布尔标志吗?

我想要一个 bool 宏来在每次构建时在我的应用程序中启用某些功能。例如,在 QA 版本中启用但在生产中禁用。为此,我将此代码添加到我的应用程序.xcconfing文件中:

FEATURE_ENABLED当我改变它的值时在 ObjC 中工作,但在 Swift 中根本没有工作。问题是为什么,以及如何让它发挥作用。

0 投票
0 回答
270 浏览

ios - Flutter pod install 为 .xcconfig 文件生成无效路径

我在现有的 iOS(swift)应用程序中集成颤振时遇到问题,

根据文档,为了让用户颤抖,我在我的 pod 文件中添加了这个:

然后我运行 pod install 并且一切正常,我设法安装我的应用程序并存档,但是当我的 CI / CD 服务器运行构建时,它每次都失败,当我深入查看日志时,我发现颤振脚本在所有看起来像这样的 .xcconfig 文件

这条路径是相对于我的机器的,但我希望路径看起来像

经过更多挖掘后,我设法在以下位置找到生成此脚本的脚本:

我试图修改它,但在 pod 安装后没有任何影响,任何帮助将不胜感激。

请注意,我从这里使用 .gitignore

并且我所有的开发/其他 pod 都得到了这样的错误本地路径(我的 firebase pod):

在此处输入图像描述

0 投票
1 回答
736 浏览

ios - 如何使用 fastlane 扫描设置 COMPILER_INDEX_STORE_ENABLE=NO?

来自 fastlane 扫描文档

xcconfig 使用额外的 XCCONFIG 文件来构建您的应用程序

你怎么改变COMPILER_INDEX_STORE_ENABLE=NO

0 投票
4 回答
7873 浏览

ios - 如何修复错误:“应用标识符“com.example.apple-samplecode.BreakfastFinder”无法注册到您的开发团队。

当我尝试从 Apple 构建 BreakfastFinder 示例代码时,它会为模拟器构建它,但不会为我的带有 IOS 13(Public Beta 3)的 iPhone X 构建它。

我尝试取消配对并修复设备,将标识符从 切换 "com.example.apple-samplecode.BreakfastFinder"com.<myID>.TestApp2

从此处下载项目示例:https ://developer.apple.com/documentation/vision/recognizing_objects_in_live_capture

只有在崩溃后我才更改了构建标识符。

我希望构建完成并运行,但它给了我这些错误。来自 Xcode 的两个错误:

  1. 无法注册捆绑标识符。应用标识符“com.example.apple-samplecode.BreakfastFinder”无法注册到您的开发团队。将您的捆绑标识符更改为唯一字符串以重试。
  2. 未找到“com.example.apple-samplecode.BreakfastFinder”的配置文件:Xcode 找不到任何与“com.example.apple-samplecode.BreakfastFinder”匹配的 iOS 应用程序开发配置文件。
0 投票
0 回答
314 浏览

ios - pod install 后 Xcode 标头搜索路径不正确

我有一个使用 cocoapods 的 iOS Xcode 项目。我在 Podfile 中进行了更改以删除一个 pod。在运行 pod install 时,它抱怨 cocoapods 需要更新。所以我更新了 cocoapods,它从 1.5.3 升级到了 1.7.5。在此之后我运行了 pod install,它运行良好,但标题搜索路径似乎搞砸了。

我有我的项目的配置文件,它设置 HEADER_SEARCH_PATHS 并且还执行 #include "../Pods/Target Support Files/Pods-XYZ/Pods-XYZ.release.xcconfig"。pods 配置文件有 $(inherited).

但是当我在 Xcode 中查看 HEADER_SEARCH_PATHS 的解析值时,它只包含在 pods 配置文件中设置的标头搜索路径,而不是在我的项目配置文件中设置的路径。

由于这个问题,构建失败。任何解决此问题的帮助表示赞赏。谢谢!