Info.plist |修改版本字符串

时间:2014-05-21 02:07:00

标签: ios objective-c xcode macos info.plist

我们运行的OSX应用程序也有一些在其他平台上运行的模块,即大部分部分都移植到不同的平台,有些模块在所有平台上都是通用的,

当出现版本号时,为了与其他平台端口保持一致,我们需要维护一个通用版本,例如AppVersion.h,其中包含版本字符串。

现在要在UI上显示,我需要将相同的版本字符串从AppVersion.h文件复制到Info.plist

是否有相同的解决方法,即运行一些预构建脚本,该脚本读取版本字符串并更新info.plist。

提前致谢。

1 个答案:

答案 0 :(得分:3)

绝对!这是我在资源复制之后用作构建阶段的内容。我稍微分解了这个问题,因为这是一个更大的脚本的一部分。

#!/bin/sh
export PlistBuddy="/usr/libexec/PlistBuddy"
# TODO: Get OUR_VERSION here.
export appPlist="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/Info.plist"
$PlistBuddy $appPlist -c "set :CFBundleShortVersionString '$OUR_VERSION'"
$PlistBuddy $appPlist -c "set :CFBundleVersion '$OUR_VERSION'"

关于如何获得OUR_VERSION?我把那个留给你。在我的情况下,我只是在脚本中grepped文件。对我来说,这是一个xcconfig,但对你来说它将是标题。如果您有命令行经验,则可能有更好的方法从.h文件中提取符号含义。

请注意,这会将CFBundleShortVersionString(用户可见版本)和CFBundleVersion(内部版本)设置为相同的值。这可能就是你想要的。如果没有,修复它。 :)