ios - 如何通过 XCode 运行脚本创建文件并添加到项目中?
问题描述
我想在我的应用程序上显示我的 git 版本。从一些研究来看,我似乎可以通过运行脚本来实现这一点。
下面的代码将在以下位置创建一个文件Resources/GitVersion.swift
version=$(git rev-parse --verify HEAD | cut -c 1-10)
commitDate=$(git log -n 1 HEAD --pretty=format:"%h - %cd" | cut -c 12-)
filesource="//\n// GitVersion.swift\n//\n// Commit Date:$commitDate\n//\n\nlet gitVersion = \"$version\"\n"
cd ${SOURCE_ROOT}/${PROJECT_NAME}
echo "$filesource" > Resources/GitVersion.swift
touch Resources/GitVersion.swift
该文件将如下所示:let gitVersion = XXX
,并且每次代码运行时都会更新。
太好了,除了GitVersion.swift
不在我的项目中,所以我无法在任何地方引用 gitVersion 来访问 git 哈希。
如何GitVersion.swift
通过运行脚本添加到我的项目中,这样每次运行构建时,它都会创建文件并将依赖项动态添加到项目中?
解决方案
推荐阅读
- javascript - 为什么我的回报被忽略了,而我却得到了承诺
- amazon-web-services - 如何在这个 buildspec.yml 文件中使用环境变量?
- terraform - 检查一个键是否在地图中,然后使用 terraform 返回值
- linux - 在 Ubuntu-18.04 上编译 LibreOffice-6.0.7 时出错
- html - Ionic Angular ion-img 和后备图像问题
- python - ModelForm 中外键的表单字段,ModelChoiceField 的选择太多?
- pymongo - "_id" 字段设置为 int,但是对于带有 "." 的无效文档键会引发 bson 错误。
- winapi - 如何在 Windows 中缩放/缩放窗口?
- firebase - Flutter Child State 未根据更改的父状态更新:FlutterFirestore Stream
- c# - azure 函数的 API 速率限制