【问题标题】:How to add SVN revision number to iPhone Application Build?如何将 SVN 修订号添加到 iPhone 应用程序构建?
【发布时间】:2012-11-29 19:09:05
【问题描述】:

【问题讨论】:

    标签: iphone ios xcode svn


    【解决方案1】:

    您可以尝试以下步骤,这可能会对您有所帮助:

    1. 手动将 info.plist 中的 CFBundleShortVersionString(又名“捆绑版本字符串,短”)值设置为 major.minor 内部版本号(例如 1.0)

    2. 使用以下脚本将“运行脚本”构建阶段添加到您的项目中

    REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
    BASEVERNUM=`/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${INFOPLIST_FILE}"`
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BASEVERNUM.$REV" "${INFOPLIST_FILE}"
    

    3.清理和构建(清理步骤强制 Xcode 重新处理 info.plist)。

    【讨论】:

    • 这是一个优雅的解决方案,但由于某种原因,脚本中的 REV 组件始终为空。起初我以为是因为 1.7 的客户端版本没有在 Mac OS 上更新,但现在已经解决了。我可以通过将其放在项目目录的命令行中来查看所需的输出。但它没有像预期的那样为我的应用程序提供输入。 BASEVERNUM 似乎得到了它的价值。有什么想法吗?
    【解决方案2】:

    请注意 Xcode 5 对 svn 目录格式的更改。因此,如果您同时安装了 Xcode 4 和 5,并且已经将 svn 项目目录转换为新的 1.7 格式,那么您将失去 Xcode 4 中的 svn 功能(缺少状态,svnversion doesn't work 等等)。幸运的是,Tommy Domain 为仍在同一台 Mac 上使用 Xcode 4 和 Xcode 5 的用户发布了一个解决方法。你可以找到它here。很快,解决方案可能是:

    • 关闭 Xcode 4。
    • 下载安装svn 1.7客户端(download link is here)
    • 转到 XCode4.app 包内部,SVN 二进制文件所在的位置:

    cd /Applications/Xcode.app/Contents/Developer/usr/bin/

    • 通过将 svn* 文件移动到任何其他目录来备份它们:

    mv svn* 备份

    • 建立一个svn 1.7客户端安装包的符号链接:

    ln -s /opt/subversion/bin/svn* ./

    之后重新打开 Xcode 4 并享受 svn 工具以及来自 Shekhar 的 solution 再次感谢 Tommy's Domain blog

    【讨论】:

      猜你喜欢
      • 2015-10-09
      • 2010-11-29
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多