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

标签 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>

最佳答案

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

关于iphone - xcconfig 中的环境变量不会在 Settings.bundle/Root.plist 中展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637636/

相关文章:

ios - 如何从用户定义方法返回到委托(delegate)方法

iOS 相机问题 (Swift)

ios - SpriteKit 自定义节点边界

ios - PrototypeCell 中的 UITextView 在两个 iPhone 模拟器中有不同的行为

reactjs - 如何使用自定义 webpack 在 React 上设置环境变量

ios - 无法在多点连接 iOS 10 中通过蓝牙连接

iphone - 如何在 iPhone 上使用新的 Facebook GRAPH API 将照片和消息发布到 Facebook

xcode - 如何在xCode 4界面生成器工具中旋转窗口?

python - Gunicorn 服务环境文件格式?

batch-file - 如何在 DOS 和 Windows CMD 中抑制环境变量扩展?