gpt4 book ai didi

xcode8 - 如何在 Xcode 8 中设置 CURRENT_PROJECT_VERSION

转载 作者:行者123 更新时间:2023-12-04 03:11:50 28 4
gpt4 key购买 nike

升级到 Xcode 8 后,当我使用 faSTLane 进行构建时,收到以下错误消息:

There does not seem to be a CURRENT_PROJECT_VERSION key set for this project



如果我去 Xcode > Build Settings并进入 Versioning,有一个 Current Project Version 键,如下图:

screen shot of versioning

帮助文本说输入整数或浮点数,但是当我单击该字段时,没有机会在 Debug 或 Release 字段中输入数字。这与显示的屏幕截图 in this apple tech Q&A 不同所以自从 Q&A 发布以来,Xcode 似乎发生了变化。

最佳答案

别。改为修改应用程序的 info.plist 文件中的值。

这意味着不使用 agvtool(据我所知)。

为什么?多年来,Apple 提出了多种更改版本和构建编号的方法。它们中的许多现在已经过时且实践不佳。更改 CURRENT_PROJECT_VERSION 会修改项目的 project.pbxproj 文件中的值,如果您正在运行分布式团队,如果团队的另一半尝试更新并且在他们睡着时更新此内部值,这将导致合并冲突。如果您使用的是 pod,那么您添加到项目中的每个 pod 都会遇到更多的合并冲突。

那么,CURRENT_PROJECT_VERSION?

不要使用它。

info.plist 文件中有这些键。

CFBundleVersion
CFBundleShortVersionString

使用 CFBundleVersion为您的应用程序的内部版本号。
使用 CFBundleShortVersionString为您的应用程序的版本号。

使用 Plistbuddy 来做到这一点。
    <key>CFBundleShortVersionString</key>
<string>3.0.7</string>
<key>CFBundleVersion</key>
<string>934</string>
</dict>
</plist>

试试下面的脚本。
#!/bin/sh

# To make executable, use: chmod u+x Build-Versioning-Scripts/Increment_Build_Number.sh
# to locate your target's info.plist use
# ${PRODUCT_SETTINGS_PATH}

echo "----"
echo "Info.plist for target: ${PRODUCT_SETTINGS_PATH}"

buildNum=$(/usr/libexec/Plistbuddy -c "Print CFBundleVersion" "${PRODUCT_SETTINGS_PATH}")
echo "Current build #: $buildNum"

if [ -z "$buildNum" ]; then
echo "No build number found in $PRODUCT_SETTINGS_PATH"
exit 2
fi

buildNum=$(expr $buildNum + 1)
echo "Build # incremented to: $buildNum"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNum" "$PRODUCT_SETTINGS_PATH"
echo "----"
exit 0

通过将此脚本添加到构建机器上的构建或存档过程中,这将自动更新应用程序的构建号。
如果您希望增加应用程序的版本号,请更改 CFBundleShortVersionString (捆绑版本字符串,短)在 info.plist 手动。

关于xcode8 - 如何在 Xcode 8 中设置 CURRENT_PROJECT_VERSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673280/

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