检索 iOS 项目内的分支名称

Can*_*Can 5 git ios

我正在构建的应用程序包含用于开发目的的调试视图,并且仅当应用程序是在调试环境中构建时才能显示。

我还想完成的是,我希望能够在构建的调试模式中显示分支名称。由于一直在部署各种构建,因此清楚地了解构建来自哪个分支将非常有帮助。

我尝试了一些方法(例如 Swift 脚本,但意识到它不能在 iOS 上执行,等等),但最终没有成功。

有谁对如何实现这一目标有任何想法?由于此功能不会进入 AppStore,因此不受 Apple 规则的约束,因此我对私有框架持开放态度。

小智 6

从本文中,您可以在构建阶段使用此脚本将 git 信息插入 Info.plist,然后您可以使用 Swift 进行查询。

#!/bin/sh

git_version=$(git log -1 --format="%h")
git_branch=$(git symbolic-ref --short -q HEAD)
git_tag=$(git describe --tags --exact-match 2>/dev/null)

build_time=$(date)
git_branch_or_tag="${git_branch:-${git_tag}}"

info_plist="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_FOLDER_PATH}/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion '${git_branch_or_tag}-${git_version}'" "${info_plist}"
/usr/libexec/PlistBuddy -c "Set :BuildTime '${build_time}'" "${info_plist}"
Run Code Online (Sandbox Code Playgroud)