ios - 为什么 Xcode 不使用我的 xcconfig 文件中的构建配置设置?

标签 ios xcode6 xcconfig

编辑:我认为任何构建配置设置都可能有这个问题,而不仅仅是 OTHER_LDFLAGS,我已经相应地更改了标题并从问题中删除了不相关的细节。

我有一个简单的 Xcode 项目 MyApp。 MyApp.xcconfig 设置为调试构建的配置文件。它只有一行:

OTHER_LDFLAGS = -force_load /foo/bar

尽管它知道 MyApp.xcconfig 设置了 OTHER_LDFLAGS Xcode 不想使用该设置。build设置中以绿色突出显示一个空格,而不是 MyApp.xcconfig 中的值(请参阅标记为“其他链接器标志”的底部行):

enter image description here

为什么会这样?从我读过的内容来看,已解决的设置似乎应该是 .xcconfig 文件中的设置。有没有办法做到这一点?

我还发现 xcconfig 中的其他设置确实可以解决。但不是 OTHER_LDFLAGS

最佳答案

在 MyApp 的 project.pbxproj 文件中,问题build设置(在本例中为 OTHER_LDFLAGS)被分配了一个空字符串 "" . Xcode 看到该分配,而不是忽略它,而是覆盖您的 xcconfig 设置。解决方案是删除 project.pbxproj 中的行。

• 从命令行,在文本编辑器中打开 MyApp.xcodeproj/project.pbxproj,例如 Vim 。在其中,您会看到 Xcode 保留了构建 MyApp 所需的大量信息,包括您在 Xcode 的 UI 中设置的构建配置设置。

• 滚动到XCBuildConfiguration 部分。在那里您会看到您的问题build设置(在本例中为 OTHER_LDFLAGS)被分配了一个空字符串。删除该行并保存文件。

/* Begin XCBuildConfiguration section */
            .
            .
            .
            3729FD9E18B776ECB0A1990 /* Debug */ = {
                    isa = XCBuildConfiguration;
                    baseConfigurationReference = 4820F7A08BBB17C8164733A /* MyApp.xcconfig */;
                    buildSettings = {

                       /// delete this line ///
                         OTHER_LDFLAGS = "";

                    };
                    name = Debug;
            };
            .
            .
            .
/* End XCBuildConfiguration section */

关于ios - 为什么 Xcode 不使用我的 xcconfig 文件中的构建配置设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32728783/

相关文章:

ios - 如何调整 UIButton 中文本的字体大小以在 Swift 中以编程方式适应宽度?

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

ios - Swift - 以编程方式点击屏幕上的点

ios - 如何快速播放来自http数据流的音频

ios - 如何在 Swift 中使用 addAttribute

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

cocoapods - Xcode 中 Pods.debug.xcconfig 的路径不正确?

iphone - 避免图片解压阻塞主线程

ios - 在 Root View Controller 上看不到顶部导航栏

ios - 如何使用 Objective C 将 UIObjects 从一个类重用到多个类?