xcconfig中的环境变量不会在Settings.bundle / Root.plist中展开

时间:2010-04-14 13:19:56

标签: iphone xcode environment-variables plist settings.bundle

我已经在.xcconfig文件中定义了我自己的环境变量(VERSION),并根据 http://www.silverchairsolutions.com/blog/2008/03/automating-cocoa-deployments-with-sparkle-and-xcode中的说明基于我的配置。我的环境变量确实在Info.plist中扩展,但在我的Settings.bundle / Root.plist中没有扩展。 PRODUCT_NAME已按需扩展。如果我将VERSION替换为PRODUCT_NAME,则不会展开。为什么它不会扩展到那里?

Root.plist看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Title</key>
<string>${PRODUCT_NAME}</string>
<key>PreferenceSpecifiers</key>
<array>
    <dict>
        <key>DefaultValue</key>
        <string>${VERSION}</string>
        <key>Key</key>
        <string>version</string>
        <key>Title</key>
        <string>Version</string>
        <key>Type</key>
        <string>PSTitleValueSpecifier</string>
    </dict>
</array>

1 个答案:

答案 0 :(得分:1)

我们已在.xcconfig中使用我们自己的设置APP_PRODUCT_NAME解决了此问题,然后在构建配置中将其引用为PRODUCT_NAME = $ APP_PRODUCT_NAME。通过在plist中使用Bundle Name = $ {APP_PRODUCT_NAME},这似乎在捆绑中得到了很好的扩展。