编辑:我认为任何构建配置设置都可能出现此问题,而不只是OTHER_LDFLAGS
而且我已相应更改了标题,并从问题中删除了无关的详细信息。
我有一个简单的Xcode项目MyApp。 MyApp.xcconfig设置为Debug版本的配置文件。它有一行:
OTHER_LDFLAGS = -force_load /foo/bar
虽然它知道MyApp.xcconfig设置OTHER_LDFLAGS
Xcode不想使用该设置。在构建设置中,空白区域(而不是MyApp.xcconfig中的值)以绿色突出显示(请参阅标记为“其他链接器标志”的底部行):
为什么会这样?根据我的阅读,似乎解析的设置应该是.xcconfig文件中的设置。有没有办法让它如此?
我还发现xcconfig中的其他设置确实解决了。但不是OTHER_LDFLAGS
。
答案 0 :(得分:4)
问题构建设置(在本例中为OTHER_LDFLAGS
)在MyApp的""
文件中被分配了一个空字符串project.pbxproj
。 Xcode看到该分配而不是忽略它,覆盖你的xcconfig设置。解决方案是删除project.pbxproj
中的行。
•在命令行中,在文本编辑器中打开MyApp.xcodeproj/project.pbxproj
,例如Vim的。在其中,您将看到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 */