gpt4 book ai didi

ios - Xcode Build Script (Build Phases->Run Script) Increment Build Version 基于用户名(用户)

转载 作者:可可西里 更新时间:2023-11-01 03:32:30 26 4
gpt4 key购买 nike

编译项目时,当系统用户名匹配时,此脚本应将 Xcode 项目的构建版本递增 1。请记住,这些只是 Target->Build Phases->Run Script in Xcode 中脚本(不是 Applescript、Python 或 Perl)中的 Unix 命令。

我在终端中完成了“echo $USER”。这会很好地打印登录用户的用户名,它与我在第二个代码块的条件语句中放置的字符串相同。

第一段代码有效。第二个添加了条件语句,但没有。

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"


#!/bin/bash
username=$USER
if [ username == "erik" ]; then
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
fi

语法问题:
解析$USER(区分大小写)
if 语句中右括号后的分号
Then语句和if语句在同一行

最佳答案

您可以在日志导航器中看到脚本日志,您的脚本存在以下问题:

enter image description here

我相信默认比较是区分大小写的,要使其不区分大小写,您可以在比较之前将用户名更改为大写/小写:

if [ `echo $USER | tr [:lower:] [:upper:]` = "USERNAME" ]; then
echo "Got user check"
fi

如您所见,我将 $USER 移到了条件中以避免额外的 var 使用和脚本失败。

if-then block 中的分号是正常的,检查 man页。 then 如果您阅读起来更方便,单词可能会移到新行。

关于ios - Xcode Build Script (Build Phases->Run Script) Increment Build Version 基于用户名(用户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com