2010-04-14 47 views
1

我已经在.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,则不会展开。为什么它不会在那里扩展?xcconfig中的环境变量不会在Settings.bundle/Root.plist中展开

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

我们已经用我们自己的设置,APP_PRODUCT_NAME,我们.xcconfig然后引用解决了这个,在构建配置为PRODUCT_NAME = $ APP_PRODUCT_NAME。通过在plist中使用Bundle Name = $ {APP_PRODUCT_NAME},这似乎可以在捆绑包中正常展开。