2

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

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>

4

1 回答 1

1

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

于 2010-08-11T21:52:43.050 回答