xcode - 全局 Xcode 运行脚本

标签 xcode git build-process versioning run-script

为了自动更新构建日期和构建编号,我在我的方案中为构建阶段设置了一个运行脚本:

# Auto Increment Version Script
buildPlist=${PROJECT_DIR}/${INFOPLIST_FILE}
CFBuildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" $buildPlist)
CFBuildNumber=$(($CFBuildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $CFBuildNumber" $buildPlist
# "Mon" is a hack, but day is needed, and in English
CFBuildDate=$(date "+Mon %b %d %H:%M:%S %Z %Y")
/usr/libexec/PlistBuddy -c "Set :CFBuildDate $CFBuildDate" $buildPlist

虽然这可行,但缺点是方案绑定(bind)到用户特定的设置,即它们被排除在版本控制之外,并且很容易丢失。

解决这个问题并使这些脚本可供所有开发人员使用的正确方法是什么?

最佳答案

方案设置中有一个“共享”复选框。通过选中它,您的方案将保存在项目全局设置中,而不是在您的用户特定设置文件夹中。这也使得该方案将包含在 git 提交等中(假设项目设置文件夹在 gitignore 中不被忽略)。您可以将“.xcuserdata”保留在 .gitignore 中,该方案仍将包含在您的 repo 中。
截图:

enter image description here

关于xcode - 全局 Xcode 运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273275/

相关文章:

ios - 未安装 Flutter Doctor CocoaPods

ios - 如何在 Xcode 调试器中更改 "View Value as"的默认类型

git - 我的 .git 文件安全吗?太多的事件更改问题

git - TortoiseGit 致命 : can not hash , 权限错误

git - 我怎样才能将一些文件忽略到与 github 同步的本地存储库中?

arrays - SwiftUI 复选标记单行

ios - iPhone X 上的警报通过 UIAlertController 弹出窗口显示不同的颜色

c - 自动构建C项目

c++ - 如何在 Sublime Text 2、Windows 8 中构建和运行 C++ 程序?

macos - 适用于 iOS 和 Mac 项目的构建工具