gpt4 book ai didi

xcode - 自动将日期/时间和内部版本号添加到 Info.plist Xcode

转载 作者:行者123 更新时间:2023-11-29 08:55:08 25 4
gpt4 key购买 nike

我希望自动将构建日期和构建编号添加到我的 Info.plist 文件中,仅适用于我存档 iOS 应用程序的构建。

我的脚本如下

#!/bin/bash
# This was taken from variations from:
# http://davedelong.com/blog/2009/04/15/incrementing-build-numbers-xcode

if [ "$CONFIGURATION" != "Release" ]
then
exit
fi


buildPlist="$SRCROOT/$PROJECT_NAME/$PROJECT_NAME-Info.plist"


# Get the existing buildVersion and buildNumber values from the buildPlist
buildVersion=$(/usr/libexec/PlistBuddy -c "Print CFBuildVersion" "$buildPlist")

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" "$buildPlist")

buildDate=$(date "+%s")


# Increment the buildNumber
buildNumber=$(($buildNumber + 1))

# Set the version numbers in the buildPlist
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $buildNumber" "$buildPlist"
/usr/libexec/PlistBuddy -c "Set :CFBuildDate $buildDate" "$buildPlist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildVersion.$buildNumber" "$buildPlist"
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $buildVersion.$buildNumber" "$buildPlist"
/usr/libexec/PlistBuddy -c "Set :CFBundleLongVersionString $buildVersion.$buildNumber.$buildDate" "$buildPlist"

这里的一切都运行良好,我在构建阶段选项卡中的目标依赖项之后将此脚本作为构建阶段运行。

我遇到的唯一问题是该项目似乎是使用 Info.plist 的旧值而不是新值构建的。

换句话说,如果我存档应用程序并检查生成的 ipa 中的 Info.plist 文件,它们会反射(reflect)旧值。然而,查看项目中的 Info.plist 表明脚本确实正确执行,但没有及时使用旧的 Info.plist 构建项目。

有什么解决办法吗?

这似乎可以相对轻松地解决,但令我惊讶的是,在有关此主题的文章中,没有那么多人问过这个问题。

最佳答案

事实证明,答案非常简单。所需要做的就是打开 Info.plist 预处理,然后使用 __TIMESTAMP__ 预处理器指令。

关于xcode - 自动将日期/时间和内部版本号添加到 Info.plist Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033380/

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