为什么 Xcode 不使用我的 xcconfig 文件中的构建配置设置?
Why would Xcode not use the build configuration settings from my xcconfig file?
编辑:我认为任何构建配置设置都可能有这个问题,而不仅仅是 OTHER_LDFLAGS
我已经相应地更改了标题并从问题中删除了不相关的细节。
我有一个简单的 Xcode 项目 MyApp。 MyApp.xcconfig 设置为调试构建的配置文件。它只有一行:
OTHER_LDFLAGS = -force_load /foo/bar
虽然它知道 MyApp.xcconfig 设置 OTHER_LDFLAGS
Xcode 不想使用该设置。空白 space,而不是 MyApp.xcconfig 中的值,在构建设置中以绿色突出显示(请参阅标记为 "Other Linker Flags" 的底部行):
为什么会这样?从我读过的内容来看,已解决的设置似乎应该是 .xcconfig 文件中的设置。有没有办法做到这一点?
我还发现 xcconfig 中的其他设置确实可以解决。但不是 OTHER_LDFLAGS
.
在 MyApp 的 project.pbxproj
文件中,问题构建设置(在本例中为 OTHER_LDFLAGS
)被分配了一个空字符串 ""
。 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 */
编辑:我认为任何构建配置设置都可能有这个问题,而不仅仅是 OTHER_LDFLAGS
我已经相应地更改了标题并从问题中删除了不相关的细节。
我有一个简单的 Xcode 项目 MyApp。 MyApp.xcconfig 设置为调试构建的配置文件。它只有一行:
OTHER_LDFLAGS = -force_load /foo/bar
虽然它知道 MyApp.xcconfig 设置 OTHER_LDFLAGS
Xcode 不想使用该设置。空白 space,而不是 MyApp.xcconfig 中的值,在构建设置中以绿色突出显示(请参阅标记为 "Other Linker Flags" 的底部行):
为什么会这样?从我读过的内容来看,已解决的设置似乎应该是 .xcconfig 文件中的设置。有没有办法做到这一点?
我还发现 xcconfig 中的其他设置确实可以解决。但不是 OTHER_LDFLAGS
.
在 MyApp 的 project.pbxproj
文件中,问题构建设置(在本例中为 OTHER_LDFLAGS
)被分配了一个空字符串 ""
。 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 */