【问题标题】:Why would Xcode not use the build configuration settings from my xcconfig file?为什么 Xcode 不使用我的 xcconfig 文件中的构建配置设置?
【发布时间】:2015-09-22 23:40:15
【问题描述】:

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

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

OTHER_LDFLAGS = -force_load /foo/bar

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

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

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

【问题讨论】:

  • 离题:Xcode 7 可用。
  • 也许可以试试-ObjC -force_load ...
  • 您是否查看了构建日志以查看是否实际应用了这些设置?
  • @trojanfoe 是的,他们不是
  • @l'L'l 试过了,但没有成功

标签: ios xcode6 xcconfig


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • 或者您可以在 Xcode 项目编辑器中选择单元格并点击删除。
  • 一个恼人的错误 - 在 XCode 11 中我无法删除 UI 中的单元格,必须编辑项目文件
猜你喜欢
  • 2013-01-09
  • 2010-12-05
  • 2010-12-05
  • 2014-04-25
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多